:root{--cream: #F3E6D3;--cream-2: #FBF5EA;--harbor: #2E4254;--harbor-d: #223544;--dock: #557588;--dock-lt: #A9C0CE;--dock-ink: #496A7D;--teal: #1B8585;--teal-d: #14706C;--teal-link:#177272;--line: #E3D4BE;--line-d: #3A5266;--muted: #6E7C88;--white: #FFFFFF;--ink: var(--harbor);--bg: var(--cream-2);--maxw: 1140px;--pad: 24px;--radius: 16px;--radius-sm: 10px;--shadow: 0 1px 2px rgba(34, 53, 68, .04), 0 12px 32px -16px rgba(34, 53, 68, .18);--shadow-lift: 0 1px 2px rgba(34, 53, 68, .06), 0 22px 48px -20px rgba(34, 53, 68, .28);--ease: cubic-bezier(.22, .61, .36, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{font-family:Plus Jakarta Sans,system-ui,sans-serif;color:var(--harbor);margin:0;letter-spacing:-.02em;line-height:1.15;font-weight:700}h1{font-size:1.7rem;font-weight:800}h2{font-size:1.3rem}h3{font-size:1.05rem;letter-spacing:-.01em}p{margin:0}a{color:var(--teal-link);text-decoration:none}a:hover{color:var(--teal-d)}img{max-width:100%;display:block}:focus-visible{outline:3px solid var(--teal);outline-offset:2px;border-radius:6px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-weight:600;font-size:1rem;letter-spacing:-.01em;padding:13px 24px;border-radius:999px;border:1.5px solid transparent;cursor:pointer;transition:transform .18s var(--ease),background .18s var(--ease),box-shadow .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease);white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-sm{padding:9px 18px;font-size:.92rem}.btn-block{display:flex;width:100%}.btn-primary{background:var(--teal-link);color:#fff;box-shadow:0 10px 24px -12px #1b8585b3}.btn-primary:hover:not(:disabled){background:var(--teal-d);color:#fff;transform:translateY(-2px);box-shadow:0 16px 30px -12px #1b8585bf}.btn-ghost{background:transparent;color:var(--harbor);border-color:var(--dock)}.btn-ghost:hover:not(:disabled){background:#5575881a;color:var(--harbor)}label{display:block;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-weight:600;color:var(--harbor);font-size:.92rem;margin-bottom:7px}input[type=email]{width:100%;font:inherit;font-size:.97rem;color:var(--harbor);background:var(--cream-2);border:1.5px solid var(--line);border-radius:10px;padding:12px 14px;transition:border-color .18s var(--ease),box-shadow .18s var(--ease),background .18s}input[type=email]::placeholder{color:#9aa6b0}input[type=email]:focus{outline:2px solid var(--teal-link);outline-offset:1px;border-color:var(--teal-link);background:#fff;box-shadow:0 0 0 3px #17727238}.app{min-height:100vh;display:flex;flex-direction:column}.login-wrap{flex:1;display:grid;place-items:center;padding:40px var(--pad);background:var(--cream)}.login-card{width:100%;max-width:420px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-lift);padding:36px 32px;text-align:center}.login-logo{height:64px;width:64px;margin:0 auto 20px}.login-card h1{font-size:1.5rem;margin-bottom:8px}.login-card .sub{color:var(--muted);font-size:.97rem;margin-bottom:26px}.login-form{text-align:left}.login-form .field{margin-bottom:18px}.login-form .btn{margin-top:4px}.login-foot{margin-top:22px;font-size:.84rem;color:var(--muted)}.login-confirm .check-ic{width:56px;height:56px;margin:0 auto 18px;border-radius:50%;background:#1b85851f;background-repeat:no-repeat;background-position:center;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B8585' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12l4 4L19 7'/></svg>")}.login-confirm .email-strong{color:var(--harbor);font-weight:700}.form-status{margin-top:14px;font-weight:600;font-size:.92rem;min-height:1.2em}.form-status.err{color:#b4452f}.portal-header{position:sticky;top:0;z-index:100;background:#f3e6d3eb;backdrop-filter:saturate(140%) blur(10px);-webkit-backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line)}.header-inner{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);display:flex;align-items:center;gap:16px;height:68px}.header-brand{display:flex;align-items:center;gap:12px;min-width:0}.header-logo{height:38px;width:38px;flex:none}.header-biz{font-family:Plus Jakarta Sans,system-ui,sans-serif;font-weight:700;color:var(--harbor);font-size:1.05rem;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-spacer{margin-left:auto}.main{flex:1;width:100%;max-width:var(--maxw);margin:0 auto;padding:clamp(24px,4vw,40px) var(--pad)}.page-head{margin-bottom:22px}.page-head .eyebrow{font-family:Plus Jakarta Sans,sans-serif;font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:var(--dock-ink);margin-bottom:8px}.page-sub{color:var(--muted);font-size:.97rem;margin-top:6px}.calls-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.calls-table{width:100%;border-collapse:collapse;font-size:.95rem}.calls-table thead th{font-family:Plus Jakarta Sans,sans-serif;text-align:left;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--dock);font-weight:600;padding:14px 18px;background:var(--cream-2);border-bottom:1px solid var(--line);white-space:nowrap}.calls-table thead th.col-expand{width:36px}.month-row>td{padding:18px 18px 9px;background:var(--white);border-top:1px solid var(--line)}.calls-table tbody.month-group:first-of-type .month-row>td{border-top:0}.month-label{font-family:Plus Jakarta Sans,system-ui,sans-serif;font-weight:700;color:var(--harbor);font-size:1rem;letter-spacing:-.01em}.month-meta{margin-left:10px;color:var(--dock);font-size:.82rem;font-weight:600;white-space:nowrap}.call-row>td{padding:14px 18px;border-bottom:1px solid #f2ecdf;color:var(--harbor);vertical-align:middle}.call-row:last-child>td{border-bottom:0}.call-row.clickable{cursor:pointer;transition:background .15s var(--ease)}.call-row.clickable:hover{background:#5575880f}.call-row.open{background:#55758814}.cell-time{white-space:nowrap}.cell-time .date{font-weight:600}.cell-time .time{color:var(--muted);font-size:.86rem}.cell-num{font-variant-numeric:tabular-nums;white-space:nowrap}.cell-dur{font-variant-numeric:tabular-nums}.outcome-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.82rem;font-weight:600;background:#5575881f;color:var(--harbor);white-space:nowrap}.booked-yes,.booked-no{display:inline-flex;align-items:center;gap:6px;font-size:.86rem}.booked-yes{color:var(--teal-d);font-weight:600}.booked-no{color:var(--muted)}.tick{width:18px;height:18px;border-radius:50%;background:#1b858524;background-repeat:no-repeat;background-position:center;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B8585' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12l4 4L19 7'/></svg>")}.expand-caret{width:18px;height:18px;transition:transform .2s var(--ease);color:var(--dock)}.call-row.open .expand-caret{transform:rotate(90deg)}.detail-row>td{padding:0;border-bottom:1px solid #f2ecdf;background:var(--cream-2)}.detail-inner{padding:20px 22px 24px;display:grid;gap:18px}.detail-block .detail-label{font-family:Plus Jakarta Sans,sans-serif;font-weight:600;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--dock);margin-bottom:8px}.detail-block .detail-body{color:#42525e;font-size:.95rem;line-height:1.6;white-space:pre-wrap}.detail-block audio{width:100%;max-width:460px;margin-top:2px}.detail-empty{color:var(--muted);font-style:italic;font-size:.92rem}.state-wrap{display:grid;place-items:center;text-align:center;padding:clamp(40px,8vw,80px) 24px;color:var(--muted)}.state-wrap h2{color:var(--harbor);margin-bottom:8px}.spinner{width:34px;height:34px;border-radius:50%;border:3px solid rgba(85,117,136,.25);border-top-color:var(--teal);animation:spin .8s linear infinite;margin-bottom:16px}.full-center{flex:1;display:grid;place-items:center;min-height:60vh}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 720px){.calls-table .col-num,.calls-table .cell-num{display:none}}@media (max-width: 540px){.calls-table .col-outcome,.calls-table .cell-outcome{display:none}.header-biz{font-size:.95rem}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
