:root{--paper:#fbf6ea;--paper-soft:#f2ebdb;--paper-deep:#e8dfca;--paper-dark:#1c1a17;--ink:#1a1817;--ink-soft:#4a453e;--ink-mute:#8a8275;--moss:#2a3a2c;--moss-deep:#1c281e;--moss-soft:#4e5f50;--moss-tint:#d8dfc8;--copper:#c66b2d;--copper-deep:#a55321;--copper-tint:#f0dbc4;--rule:#dcd2bc;--rule-soft:#e8dfca;--font-display:"Fraunces","Times New Roman",serif;--font-sans:"Instrument Sans",-apple-system,BlinkMacSystemFont,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace;--bg-primary:var(--paper);--bg-secondary:var(--paper-soft);--surface:#fffdf6;--text-primary:var(--ink);--text-secondary:var(--ink-soft);--accent:var(--moss);--accent-hover:var(--moss-deep);--accent-light:var(--moss-tint);--border:var(--rule);--max-width:1200px;--dark:var(--paper-dark);--shadow:0 16px 34px #3c2d1414}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--bg-secondary);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;line-height:1.6}h1,h2,h3,h4{font-family:var(--font-display)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.portal-page,.auth-page{background:var(--paper);min-height:100vh}.auth-topbar{background:var(--surface);justify-content:space-between;align-items:center;height:66px;padding:0 40px;display:flex;position:relative;box-shadow:0 4px 10px #3c2d1414}.auth-nav{align-items:center;gap:8px;display:flex}.auth-nav a{color:var(--ink-soft);border-radius:32px;padding:10px 18px;font-size:14px;font-weight:600}.auth-nav a:hover{background:var(--accent-light);color:var(--accent)}.auth-logo-link{display:flex;position:absolute;left:50%;transform:translate(-50%)}.auth-logo{width:206px;max-width:38vw;height:auto;display:block}.auth-header-cta{white-space:nowrap;min-height:42px;padding:9px 18px}.auth-shell{justify-content:center;align-items:flex-start;min-height:calc(100vh - 66px);margin:0 auto;padding:0 40px 72px;display:flex}.auth-panel{gap:16px;width:100%;max-width:350px;margin-top:100px;display:grid}.auth-heading-group{margin-bottom:8px;display:grid}.auth-title{letter-spacing:0;max-width:240px;margin:0;font-size:32px;line-height:1}.auth-copy{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.45}.auth-copy.center{text-align:center}.auth-divider{color:var(--ink-mute);align-items:center;gap:16px;margin:6px 0;display:flex}.auth-divider span{border-top:1px solid var(--rule);flex:1}.auth-divider strong{font-size:12px;font-weight:600}.auth-text-link{color:var(--accent);text-underline-offset:3px;font-weight:600;text-decoration:underline}.auth-forgot-link{justify-self:start;margin-top:-4px;font-size:14px}.brand-logo{width:220px;max-width:42vw;height:auto;display:block}.product-visual{width:min(100%,430px);display:block}.card{border:1px solid var(--border);background:var(--surface);border-radius:10px;box-shadow:0 4px 8px #3c2d1414}.card.pad{padding:24px}.stack{align-content:start;gap:16px;display:grid}.eyebrow{background:var(--accent-light);width:fit-content;color:var(--accent);border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:600;display:inline-flex}.page-title{letter-spacing:0;margin:0;font-size:46px;line-height:1.1}.section-title{margin:0;font-size:28px;line-height:1.14}.muted{color:var(--text-secondary)}.input,.select,.textarea,.collect-field{border:1px solid var(--border);background:var(--surface);border-radius:6px;width:100%;min-height:48px;padding:11px 12px}.input:focus,.select:focus,.textarea:focus{border-color:var(--copper);outline:none}.textarea{resize:vertical;min-height:112px}.field{gap:6px;display:grid}.field label{color:var(--ink-soft);font-size:13px;font-weight:600}.btn{border:1px solid #0000;border-radius:32px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:12px 24px;font-weight:600;transition:all .2s;display:inline-flex}.btn.primary{background:var(--ink);color:var(--paper)}.btn.primary:hover{background:var(--moss)}.btn.secondary{border-color:var(--ink);color:var(--ink);background:0 0}.btn.secondary:hover{background:var(--ink);color:var(--paper)}.btn.ghost{border-color:var(--rule);background:var(--accent-light);color:var(--moss-deep)}.btn.full{align-self:start;width:100%}.btn:disabled{cursor:not-allowed;opacity:.58}.portal-shell{width:100vw;height:100vh;display:flex;overflow:hidden}.portal-sidebar{z-index:2;background:var(--paper-soft);flex-direction:column;flex:0 0 250px;align-items:flex-start;padding:24px 0;display:flex;box-shadow:4px 0 12px #3c2d1414}.portal-sidebar-primary{justify-content:space-between}.portal-sidebar-secondary{background:var(--paper);justify-content:flex-start;box-shadow:4px 0 10px #3c2d140d}.portal-sidebar>div,.portal-sidebar .nav-list{width:100%}.portal-sidebar>.btn{min-height:34px;color:var(--ink);background:0 0;border:0;align-self:center;padding:6px 20px;font-size:14px}.portal-sidebar>.btn:hover{color:var(--ink);background:#2a3a2c24}.nav-list{gap:0;margin-top:0;display:grid}.nav-link{width:218px;color:var(--ink-soft);border-radius:20px;align-items:center;gap:16px;margin:0 12px 8px;padding:17px 24px 17px 41px;font-size:16px;font-weight:600;line-height:1.25;display:flex}.nav-link:hover,.nav-link.active{background:var(--accent-light);color:var(--accent)}.nav-link-secondary{justify-content:flex-start}.portal-main{background:var(--paper);flex:1;min-width:0;height:100vh;padding:64px;overflow-y:auto}.portal-main-messages{padding:0;display:flex;overflow:hidden}.portal-page-content{width:100%}.portal-column-narrow{min-width:250px;max-width:340px}.portal-message-content{max-width:850px}.account-form{gap:16px;width:100%;display:grid}.account-form .btn{width:100%}.subscription-panel{border:1px solid var(--border);background:var(--surface);border-radius:10px;gap:0;width:100%;display:grid;overflow:hidden;box-shadow:0 4px 8px #3c2d1414}.subscription-panel>.medivive-product-tile{border-bottom:1px solid var(--border);padding:16px}.subscription-panel-body{gap:16px;padding:16px;display:grid}.message-thread{background:var(--paper);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.message-list{flex:1;padding:64px;overflow-y:auto}.message-bubble{background:var(--surface);border-radius:16px;max-width:min(520px,80%);padding:16px}.message-bubble p{color:var(--text-secondary);margin:8px 0 0}.message-hours{border:1px solid var(--border);background:var(--paper);text-align:center;border-radius:8px;flex-shrink:0;margin:0 32px 12px;padding:10px 16px}.message-hours p{color:var(--ink-soft);margin:0;font-size:14px}.message-composer{background:var(--surface);flex-shrink:0;height:150px;position:relative;overflow:hidden}.message-input{border:0;border-top:2px solid var(--ink);background:var(--surface);width:100%;height:100%;color:var(--ink);resize:none;border-radius:0;padding:16px 96px 16px 16px}.message-input:focus{border-top-color:var(--accent);outline:none}.message-actions{gap:4px;display:flex;position:absolute;top:50px;right:16px}.message-actions button{width:40px;height:40px;color:var(--accent);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.message-actions button:hover{background:var(--accent-light)}.portal-page-title{color:var(--ink);letter-spacing:0;margin:0 0 32px;font-size:32px;line-height:1}.portal-section{margin-bottom:48px}.portal-section-title{color:var(--ink);margin:0 0 24px;font-size:24px;line-height:1.16}.portal-tile-grid{grid-template-columns:repeat(3,minmax(250px,1fr));gap:24px;max-width:850px;display:grid}.portal-tile{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-direction:column;gap:12px;width:100%;min-width:250px;max-width:326px;min-height:300px;padding:24px;display:flex;box-shadow:0 4px 8px #3c2d1414}.portal-order-tile{gap:0;padding:0;overflow:hidden}.portal-order-tile>.medivive-product-tile{border-bottom:1px solid var(--border);padding:16px}.portal-tile-detail{flex-direction:column;flex:1;gap:12px;padding:16px 24px 24px;display:flex}.portal-tile h3,.portal-tile p{margin:0}.portal-tile h3{font-family:var(--font-display);font-size:20px;line-height:1.15}.portal-tile p{color:var(--text-secondary);font-size:14px;line-height:1.45}.portal-tile-icon{color:var(--accent);display:flex}.medivive-product-tile{align-items:center;gap:16px;min-width:0;display:flex}.medivive-product-tile-media{border:1px solid var(--rule-soft);background:#f8faf6;border-radius:10px;flex:0 0 100px;width:100px;height:100px;overflow:hidden}.medivive-product-tile-media img{object-fit:contain;object-position:center;width:100%;height:100%;display:block}.medivive-product-tile-copy{gap:4px;min-width:0;display:grid}.medivive-product-tile-copy h3,.medivive-product-tile-copy p{margin:0}.medivive-product-tile-copy h3{font-family:var(--font-display);color:var(--ink);font-size:16px;line-height:1.2}.medivive-product-tile-copy p{color:var(--text-secondary);font-size:13px;line-height:1.35}.medivive-product-tile-copy strong{color:var(--ink);font-size:13px;line-height:1.25}.portal-tile-product{object-fit:contain;object-position:center;width:100%;max-height:110px;margin:auto 0 0}.portal-product-tile .btn{margin-top:auto}.order-card{border:1px solid var(--border);background:var(--surface);border-radius:10px;width:100%;overflow:hidden;box-shadow:0 4px 8px #3c2d1414}.order-card>.medivive-product-tile{border-bottom:1px solid var(--border);padding:16px}.order-card-body{gap:16px;padding:16px;display:grid}.order-card-meta{gap:8px;display:grid}.order-timeline{border-top:1px solid var(--border);border-bottom:1px solid var(--border);gap:0;margin:0;padding:18px 0 2px;list-style:none;display:grid}.order-timeline-item{min-height:74px;display:flex}.order-timeline-marker{flex-direction:column;flex:0 0 40px;align-items:center;display:flex}.order-timeline-icon{width:24px;height:24px;color:var(--accent)}.order-timeline-icon.current{color:var(--copper)}.order-timeline-icon.pending{color:var(--ink-mute);stroke-width:1.75px}.order-timeline-connector{background:var(--rule-soft);border-radius:999px;flex:1;width:3px;margin:6px 0}.order-timeline-connector.complete{background:var(--accent)}.order-timeline-content{flex:1;min-width:0;padding:0 0 20px 8px}.order-timeline-content h3,.order-timeline-content p,.order-detail-section h3,.order-detail-section p{margin:0}.order-timeline-content h3,.order-detail-section h3{color:var(--accent);font-family:var(--font-sans);font-size:14px;font-weight:700;line-height:1.3}.order-timeline-content p{color:var(--text-secondary);margin-top:4px;font-size:14px;line-height:1.4}.order-detail-section{gap:6px;padding-top:2px;display:grid}.portal-text-link{color:var(--accent);text-underline-offset:3px;margin-top:auto;font-size:14px;font-weight:700;text-decoration:underline}.portal-segmented{gap:8px;width:100%;margin-bottom:32px;display:flex}.portal-segmented button{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--accent);border-radius:32px;flex:1;padding:8px 18px;font-weight:700}.portal-segmented button.active{border-color:var(--accent);background:var(--accent);color:var(--paper)}.topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:32px;display:flex}.portal-topbar{max-width:850px}.portal-title{letter-spacing:0;margin:10px 0 0;font-size:32px;line-height:1}.grid-2,.grid-3{align-items:start;gap:24px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.stat{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:16px}.portal-page .product-visual{object-fit:contain;width:min(100%,240px);height:240px;margin:0 auto}.portal-flow{gap:24px;max-width:500px;display:grid}.card-heading{margin:0;font-size:18px;line-height:1.2}.product-summary{align-items:center;gap:16px;display:flex}.product-summary-media{border:1px solid var(--rule-soft);background-color:var(--paper);background-image:url(/medivive-nad-pen.png);background-position:50%;background-repeat:no-repeat;background-size:130%;border-radius:16px;flex:0 0 100px;width:100px;height:100px;overflow:hidden}.product-summary-copy{gap:6px;min-width:0;display:grid}.product-summary-copy h3,.product-summary-copy p{margin:0}.product-summary-copy h3{font-family:var(--font-sans);font-size:15px;font-weight:700;line-height:1.3}.product-summary-copy p,.checkout-note{color:var(--text-secondary);font-size:13px}.summary-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.summary-divider{border-top:1px solid var(--rule-soft)}.summary-total{color:var(--ink);font-size:18px;font-weight:700}.checkbox-row{color:var(--ink-soft);align-items:center;gap:10px;font-weight:600;display:flex}.checkout-note{text-align:center;margin:12px 0 0}.status{background:var(--accent-light);width:fit-content;color:var(--accent);border-radius:999px;align-items:center;gap:8px;padding:6px 10px;font-size:13px;font-weight:600;display:inline-flex}.message{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:16px}.collect-grid{grid-template-columns:1fr .65fr .45fr;gap:10px;display:grid}.alert{background:var(--copper-tint);color:var(--copper-deep);border-radius:6px;padding:12px 14px}.alert.success{color:#047857;background:#ecfdf5}.alert.error{color:#991b1b;background:#fef2f2}@media (max-width:900px){.grid-2,.grid-3,.collect-grid{grid-template-columns:1fr}.portal-shell{flex-direction:column;height:auto;min-height:100vh;overflow:visible}.portal-sidebar{flex:none;gap:18px;width:100%;height:auto;padding:24px 18px;position:static}.nav-link{border-radius:14px;width:100%;min-height:44px;margin-left:0;margin-right:0;padding:12px;font-size:14px}.nav-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:20px}.portal-sidebar>.btn{align-self:flex-start}.portal-main{height:auto;padding:32px 18px 56px;overflow:visible}.portal-main-messages{min-height:640px;padding:0;overflow:hidden}.message-list{padding:32px}.message-hours{margin-left:12px;margin-right:12px}.message-composer{height:96px}.message-actions{top:28px}.portal-topbar,.portal-main>.grid-2,.portal-main>.grid-3,.portal-main>.stack,.portal-column-narrow,.portal-message-content,.portal-flow{max-width:none}.portal-page-title{font-size:30px}.portal-tile-grid{grid-template-columns:1fr;max-width:none}.portal-tile{max-width:none}.product-summary{align-items:flex-start}.page-title{font-size:34px}}@media (max-width:700px){.auth-topbar{justify-content:center;height:64px;padding:0 18px}.auth-nav,.auth-header-cta{display:none}.auth-logo-link{position:static;transform:none}.auth-logo{width:184px;max-width:72vw}.auth-shell{min-height:calc(100vh - 64px);padding:0 28px 56px}.auth-panel{max-width:none;margin-top:64px}}
