@import "https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap";
:root{--paper:#fbf7f2;--paper-2:#f3ebe1;--card:#fff;--ink:#241910;--ink-soft:#5b4a3b;--muted:#9c8b7b;--line:#e9dcce;--brown:#36210f;--brown-2:#25160a;--orange:#ff6a13;--orange-deep:#d9540a;--orange-tint:#ffe7d4;--display:"Oswald", "Arial Narrow", sans-serif;--body:"IBM Plex Sans", system-ui, sans-serif;--shadow:0 1px 2px #36210f0f;--shadow-lift:0 14px 30px -12px #36210f52}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--body);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}::selection{background:var(--orange-tint);color:var(--orange-deep)}*{scrollbar-width:thin;scrollbar-color:var(--line) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line);border:3px solid var(--paper);border-radius:999px}.brand-mark{background:var(--orange);width:56px;height:56px;color:var(--brown-2);font-family:var(--display);letter-spacing:.02em;border-radius:14px;flex:none;place-items:center;font-size:24px;font-weight:700;display:inline-grid;overflow:hidden;box-shadow:inset 0 0 0 2px #ffffff4d,0 2px 8px -2px #00000059}.brand-mark img{width:40px;height:auto;display:block}.login-page{background:radial-gradient(820px 520px at 50% 22%, #4a2e1a 0%, transparent 70%), var(--brown-2);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:var(--card);border-top:4px solid var(--orange);text-align:center;border-radius:16px;flex-direction:column;gap:18px;width:100%;max-width:330px;padding:30px 28px 28px;display:flex;box-shadow:0 30px 70px -24px #0009}.login-head{flex-direction:column;align-items:center;gap:10px;display:flex}.login-title{font-family:var(--display);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:22px;font-weight:600}.login-sub{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0;font-size:12px}.login-input{width:100%;font-family:var(--body);color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:10px;outline:none;padding:12px 14px;font-size:16px;transition:border-color .15s,box-shadow .15s}.login-input:focus{border-color:var(--orange);box-shadow:0 0 0 3px var(--orange-tint);background:#fff}.btn-primary{width:100%;font-family:var(--display);letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--orange);cursor:pointer;border:none;border-radius:10px;padding:12px 14px;font-size:15px;font-weight:600;transition:background .15s,transform 50ms}.btn-primary:hover{background:var(--orange-deep)}.btn-primary:active{transform:translateY(1px)}.btn-primary:disabled{opacity:.6;cursor:default}.login-error{color:var(--orange-deep);margin:0;font-size:13px;font-weight:500}.dash-page{background:radial-gradient(1100px 360px at 50% -180px, #fff0e3 0%, transparent 70%), var(--paper);min-height:100vh}.dash-header{background:var(--brown);color:#fff;border-bottom:3px solid var(--orange);justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex}.brand{align-items:center;gap:13px;display:flex}.brand-text{flex-direction:column;line-height:1.05;display:flex}.brand-name{font-family:var(--display);letter-spacing:.07em;text-transform:uppercase;font-size:20px;font-weight:600}.brand-name b{color:var(--orange);font-weight:700}.brand-sub{letter-spacing:.18em;text-transform:uppercase;color:#ffffff8c;margin-top:3px;font-size:10.5px}.brand-credit{letter-spacing:.03em;color:#ffffff61;margin-top:3px;font-size:10px}.brand-credit a{color:var(--orange);font-weight:600;text-decoration:none}.brand-credit a:hover{text-decoration:underline}.btn-ghost{font-family:var(--display);letter-spacing:.08em;text-transform:uppercase;color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff47;border-radius:9px;padding:8px 16px;font-size:13px;font-weight:500;transition:background .15s,border-color .15s}.btn-ghost:hover{background:#ffffff1f;border-color:#ffffff80}.dash-body{max-width:1200px;margin:0 auto;padding:26px 20px 72px}.statline{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:18px;padding:14px 20px;display:flex}.stat-total{align-items:baseline;gap:9px;display:flex}.stat-num{font-family:var(--display);color:var(--orange-deep);font-size:34px;font-weight:700;line-height:1}.stat-label{font-family:var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:500}.stat-divider{background:var(--line);align-self:stretch;width:1px}.stat-chips{flex-wrap:wrap;gap:7px;display:flex}.stat-chip{font-family:var(--display);letter-spacing:.03em;color:var(--ink-soft);background:var(--paper-2);border-radius:7px;padding:4px 10px;font-size:12.5px;font-weight:500}.stat-chip b{color:var(--orange-deep);font-weight:700}.stat-total{font:inherit;cursor:pointer;border:none;border-radius:9px;margin:-4px -8px;padding:4px 8px;transition:background .12s,box-shadow .12s}.stat-total:hover{background:var(--paper-2)}.stat-total:focus-visible{outline:2px solid var(--orange);outline-offset:1px}.stat-total.is-active{background:var(--orange-tint)}.stat-chip{cursor:pointer;border:none;transition:filter .12s,background .12s,color .12s,box-shadow .12s}.stat-chip:hover{filter:brightness(.96)}.stat-chip:focus-visible{outline:2px solid var(--orange);outline-offset:1px}.stat-chip.is-active{background:var(--orange);color:var(--brown-2);box-shadow:0 0 0 2px var(--brown)}.stat-chip.is-active b{color:var(--brown-2)}.toolbar{z-index:5;background:linear-gradient(var(--paper) 70%, #fbf7f200);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;padding:12px 0;display:flex;position:sticky;top:0}.toolbar-label{font-family:var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-right:2px;font-size:12px;font-weight:600}.select{appearance:none;font-family:var(--body);color:var(--ink);background-color:var(--card);border:1px solid var(--line);cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M2 4l4 4 4-4' fill='none' stroke='%23d9540a' stroke-width='1.6' stroke-linecap='round'/></svg>");background-position:right 11px center;background-repeat:no-repeat;border-radius:10px;padding:9px 32px 9px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.select:hover{border-color:var(--orange)}.select:focus{border-color:var(--orange);box-shadow:0 0 0 3px var(--orange-tint);outline:none}.search{appearance:none;font-family:var(--body);color:var(--ink);background-color:var(--card);border:1px solid var(--line);border-radius:10px;min-width:200px;padding:9px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.search::placeholder{color:var(--muted)}.search:hover{border-color:var(--orange)}.search:focus{border-color:var(--orange);box-shadow:0 0 0 3px var(--orange-tint);outline:none}.btn-clear{font-family:var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--orange-deep);border:1px solid var(--orange);cursor:pointer;background:0 0;border-radius:10px;padding:8px 14px;font-size:13px;font-weight:600;transition:background .15s}.btn-clear:hover{background:var(--orange-tint)}.btn-refresh{font-family:var(--display);letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--orange);border:1px solid var(--orange);cursor:pointer;border-radius:10px;align-items:center;gap:7px;padding:8px 14px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.btn-refresh:hover{background:var(--orange-deep);border-color:var(--orange-deep)}.btn-refresh:disabled{opacity:.7;cursor:progress}.spinner{border:2px solid #ffffff73;border-top-color:#fff;border-radius:50%;width:13px;height:13px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.refresh-error{color:var(--orange-deep);font-weight:600}.count{color:var(--muted);margin-left:auto;font-size:13.5px}.count b{font-family:var(--display);color:var(--orange-deep);font-size:16px;font-weight:700}.grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;transition:transform .18s,box-shadow .18s,border-color .18s;animation:.45s cubic-bezier(.22,1,.36,1) both fadeUp;display:flex;overflow:hidden}.card:hover{box-shadow:var(--shadow-lift);border-color:#f0cdb1;transform:translateY(-3px)}.card-top{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:flex-start;gap:10px;padding:15px 16px 12px;display:flex}.card-name{font-family:var(--display);color:var(--ink);font-size:19px;font-weight:600;line-height:1.15;text-decoration:none}a.card-name:hover{color:var(--orange-deep)}.card-clickable{cursor:pointer}.card-clickable:hover{box-shadow:var(--shadow-lift);border-color:#f0cdb1;transform:translateY(-2px)}.card-clickable:focus-visible{border-color:var(--orange);box-shadow:0 0 0 3px var(--orange-tint);outline:none}.badge{background:var(--brown);color:#fff;min-width:46px;font-family:var(--display);letter-spacing:.04em;border-radius:9px;flex:none;place-items:center;padding:4px 8px;font-size:15px;font-weight:600;display:inline-grid}.badge .badge-cap{letter-spacing:.16em;color:var(--orange);margin-bottom:1px;font-size:7.5px;display:block}.badge-transfer{background:var(--orange);color:var(--brown-2);text-transform:uppercase;letter-spacing:.1em;font-size:11px}.card-nameline{flex-wrap:wrap;align-items:baseline;gap:8px;min-width:0;display:flex}.bt-tag{background:var(--orange-tint);color:var(--orange-deep);font-family:var(--display);letter-spacing:.05em;white-space:nowrap;border-radius:999px;flex:none;align-items:baseline;gap:4px;padding:1px 8px;font-size:12.5px;font-weight:600;display:inline-flex;position:relative;top:-1px}.bt-tag-label{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:9px;font-weight:600}.slap-tag{border:1.5px solid var(--brown);color:var(--brown-2);font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;background:0 0;border-radius:999px;flex:none;align-items:baseline;padding:1px 7px;font-size:10.5px;font-weight:600;display:inline-flex;position:relative;top:-1px}.pillrow{flex-wrap:wrap;gap:6px;padding:12px 16px 4px;display:flex}.pill{font-family:var(--display);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);background:var(--paper-2);border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:11px;font-weight:500}.contact{flex-direction:column;gap:5px;margin-top:auto;padding:10px 16px 12px;display:flex}.email-link{color:var(--orange-deep);word-break:break-all;font-size:13px;text-decoration:none}.email-link:hover{text-decoration:underline}.phone{color:var(--ink-soft);font-size:13px}.muted{color:var(--muted);font-size:12.5px;font-style:italic}.scoreline{border-top:1px solid var(--line);font-family:var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:#fdfaf6;justify-content:space-between;align-items:center;gap:8px;padding:9px 16px;font-size:11px;font-weight:500;display:flex}.scoreline b{color:var(--ink-soft);font-weight:600}.card-section-label{width:100%;font-family:var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);border-top:1px dashed var(--line);margin-bottom:8px;padding-top:10px;font-size:10px;font-weight:600;display:block}.card-links{flex-wrap:wrap;gap:6px;padding:0 16px 4px;display:flex}.link-tag{font-family:var(--display);letter-spacing:.03em;color:var(--orange-deep);background:var(--orange-tint);border:1px solid #0000;border-radius:999px;align-items:center;gap:4px;padding:4px 11px;font-size:11.5px;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.link-tag:after{content:"↗";opacity:.7;font-size:10px}.link-tag:hover{border-color:var(--orange);background:#ffd9bd}.card-notes{color:var(--ink-soft);padding:0 16px 10px;font-size:13px;line-height:1.5}.empty{text-align:center;font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:64px 0;font-size:15px;font-weight:500}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.profile-page{min-height:100vh}.profile-bar{z-index:5;background:linear-gradient(var(--paper) 72%, #fbf7f200);align-items:center;max-width:900px;margin:0 auto;padding:18px 20px 10px;display:flex;position:sticky;top:0}.back-link{font-family:var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--orange-deep);border:1px solid var(--line);background:var(--card);border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;text-decoration:none;transition:border-color .15s,background .15s;display:inline-flex}.back-link:hover{border-color:var(--orange);background:var(--orange-tint)}.profile-body{max-width:900px;margin:0 auto;padding:8px 20px 72px}.profile-head{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;justify-content:space-between;align-items:flex-start;gap:16px;padding:22px;display:flex}.profile-id{min-width:0}.profile-title-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.profile-name{font-family:var(--display);color:var(--ink);overflow-wrap:break-word;margin:0;font-size:30px;font-weight:600;line-height:1.1}.profile-pills{padding:14px 0 2px}.profile-contact{flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:12px;display:flex}.profile-actions{flex:none;width:44px;min-height:44px}.profile-section{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;margin-top:18px;padding:16px 18px}.profile-links{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.profile-notes{color:var(--ink-soft);margin:8px 0 0;font-size:14.5px;line-height:1.5}.timeline{margin-top:26px}.timeline-head{align-items:baseline;gap:10px;margin-bottom:14px;display:flex}.timeline-count{font-family:var(--display);color:var(--orange-deep);font-size:13.5px;font-weight:700}.email-block{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--orange);box-shadow:var(--shadow);border-radius:12px;margin-bottom:16px;padding:16px 18px;position:relative}.email-date{font-family:var(--display);letter-spacing:.03em;color:var(--ink);font-size:15px;font-weight:600}.email-contrib{flex-direction:column;gap:10px;margin-top:10px;display:flex}.email-contrib .pillrow{padding:0}.email-extra{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.5}.email-body{margin-top:14px}.email-body-label{font-family:var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:10.5px;font-weight:600;display:block}.email-body-text{white-space:pre-wrap;overflow-wrap:anywhere;max-height:340px;font-family:var(--body);color:var(--ink-soft);background:var(--paper-2);border:1px solid var(--line);border-radius:9px;padding:12px 14px;font-size:13.5px;line-height:1.6;overflow:auto}@media (max-width:560px){.dash-header{flex-wrap:nowrap;align-items:center;gap:10px;padding:10px 14px}.brand,.brand-text{min-width:0}.brand-mark{border-radius:12px;width:46px;height:46px}.brand-mark img{width:33px}.brand-name{font-size:18px}.brand-credit a{margin:-5px -6px;padding:5px 6px;display:inline-block}.btn-ghost{white-space:nowrap;flex:none;align-items:center;min-height:44px;padding:0 13px;display:inline-flex}.dash-body{padding:18px 14px 56px}.statline{gap:12px;padding:14px 16px}.toolbar{align-items:stretch;gap:8px;position:static}.toolbar-label{flex:100%;margin:0}.toolbar .search{flex:100%;min-width:0;min-height:46px;font-size:16px}.toolbar .select{flex:calc(50% - 4px);width:auto;min-width:0;min-height:46px;font-size:16px}.toolbar .btn-clear{flex:calc(50% - 4px);width:auto;min-height:46px}.toolbar .btn-refresh{flex:calc(50% - 4px);justify-content:center;min-height:46px}.toolbar .count{text-align:left;flex:100%;margin-left:0}.grid{grid-template-columns:1fr;gap:14px}.card-name{overflow-wrap:break-word}.link-tag{padding:8px 13px;font-size:13px}.profile-bar{padding:14px 14px 8px}.back-link{min-height:44px;padding:10px 14px}.profile-body{padding:8px 14px 56px}.profile-head{flex-direction:column;gap:12px;padding:18px}.profile-name{font-size:25px}.profile-actions{display:none}.email-body-text{max-height:260px;font-size:12px}}@media (prefers-reduced-motion:reduce){.card{animation:none}.card:hover{transform:none}}.viewtabs{gap:6px;margin-bottom:16px;display:flex}.viewtab{cursor:pointer;font-family:var(--display);letter-spacing:.04em;color:var(--ink-soft);background:var(--paper-2);border:none;border-radius:999px;padding:7px 16px;font-size:13px;font-weight:600;transition:background .12s,color .12s}.viewtab:hover{color:var(--orange-deep)}.viewtab.is-active{background:var(--brown);color:#fff}.viewtab:focus-visible{outline:2px solid var(--orange);outline-offset:2px}.analytics{flex-direction:column;gap:16px;display:flex}.metric-row{flex-wrap:wrap;gap:12px;display:flex}.metric-card{background:var(--paper-2);border:1px solid var(--line);border-radius:12px;flex-direction:column;flex:160px;gap:4px;padding:14px 16px;display:flex}.metric-card-accent{background:var(--orange-tint);border-color:var(--orange-tint)}.metric-num{font-family:var(--display);color:var(--orange-deep);font-size:30px;font-weight:700;line-height:1}.metric-label{font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-size:11.5px;font-weight:500}.chart{background:var(--paper-2);border:1px solid var(--line);border-radius:12px;padding:16px 18px}.chart-title{font-family:var(--display);color:var(--ink);margin:0 0 2px;font-size:15px;font-weight:700}.chart-note{color:var(--ink-soft);margin:0 0 10px;font-size:11.5px}.chart-empty{color:var(--ink-soft);font-size:13px}.chart-svg{width:100%;max-width:620px;display:block}.chart-cat{fill:var(--ink-soft);font-family:var(--display);font-size:13px}.chart-val{fill:var(--ink);font-family:var(--display);font-size:13px;font-weight:700}.chart-bar{fill:var(--orange)}.chart-axis{stroke:var(--line);stroke-width:1px}.chart-axislabel{fill:var(--ink-soft);font-family:var(--display);font-size:11px}.chart-area{fill:var(--orange-tint)}.chart-line{fill:none;stroke:var(--orange);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart-dot{fill:var(--orange-deep)}
