
:root{
  --cha-black:#11110f;
  --cha-ink:#1a1916;
  --cha-paper:#f4f0e8;
  --cha-white:#fffdf8;
  --cha-line:#cec6b9;
  --cha-muted:#716b62;
  --cha-serif:Georgia,"Times New Roman",serif;
  --cha-sans:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body.cha-front-body{background:var(--cha-paper);color:var(--cha-ink);font-family:var(--cha-sans)}
a{color:inherit}

/* login */
.cha-login-page{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr}
.cha-login-copy{background:var(--cha-black);color:#fff;padding:8vh 7vw;display:flex;flex-direction:column;justify-content:center}
.cha-eyebrow{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:#a79e90}
.cha-login-copy h1{font-family:var(--cha-serif);font-size:clamp(64px,8vw,132px);line-height:.88;font-weight:400;letter-spacing:-.055em;margin:28px 0 34px}
.cha-login-copy p{max-width:560px;font-family:var(--cha-serif);font-size:20px;line-height:1.55;color:#d7d1c7}
.cha-login-note{margin-top:64px;padding-top:18px;border-top:1px solid #3e3b36;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#938b80}
.cha-login-panel{display:flex;align-items:center;justify-content:center;background:var(--cha-white);padding:50px}
.cha-login-inner{width:min(420px,100%)}
.cha-login-inner h2{font-family:var(--cha-serif);font-size:42px;font-weight:400;letter-spacing:-.035em;margin:20px 0 40px}
.cha-login-inner form label{display:block;margin-bottom:24px;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#5e584f}
.cha-login-inner input[type=text],.cha-login-inner input[type=password]{width:100%;border:0;border-bottom:1px solid var(--cha-line);background:transparent;padding:10px 0;font-family:var(--cha-serif);font-size:17px;outline:none}
.cha-login-inner input:focus{border-color:var(--cha-black)}
.cha-check{display:flex!important;align-items:center;gap:8px;text-transform:none!important;letter-spacing:0!important;font-size:12px!important}
.cha-login-inner button{width:100%;margin-top:8px;background:var(--cha-black);color:#fff;border:0;padding:15px 18px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
.cha-forgot{display:inline-block;margin-top:22px;font-size:11px;color:var(--cha-muted)}
.cha-login-error{margin-bottom:24px;padding:12px 14px;border:1px solid #9c645c;color:#7b413a;font-size:12px}

/* app */
.cha-app{min-height:100vh;display:grid;grid-template-columns:250px 1fr}
.cha-sidebar{position:sticky;top:0;height:100vh;background:var(--cha-black);color:#fff;padding:34px 28px;display:flex;flex-direction:column}
.cha-side-brand span{display:block;font-size:10px;letter-spacing:.28em;color:#b3aa9c}
.cha-side-brand strong{display:block;margin-top:7px;font-family:var(--cha-serif);font-size:42px;font-weight:400}
.cha-sidebar nav{margin-top:74px;display:flex;flex-direction:column}
.cha-sidebar nav a{padding:13px 0;border-bottom:1px solid #302e2a;text-decoration:none;color:#9c958a;font-size:12px}
.cha-sidebar nav a:hover,.cha-sidebar nav a.active{color:#fff}
.cha-sidebar nav a.active:before{content:"—";margin-right:9px}
.cha-side-bottom{margin-top:auto;padding-top:24px;border-top:1px solid #302e2a}
.cha-side-bottom a{display:block;text-decoration:none;font-size:11px;margin-bottom:22px}
.cha-side-bottom small{color:#80796e;font-size:9px;line-height:1.5;letter-spacing:.08em;text-transform:uppercase}
.cha-app-main{padding:0 5vw 80px;min-width:0}
.cha-app-hero{display:flex;justify-content:space-between;gap:40px;padding:58px 0 48px;border-bottom:1px solid var(--cha-line)}
.cha-app-hero h1{font-family:var(--cha-serif);font-weight:400;font-size:clamp(48px,5vw,78px);letter-spacing:-.05em;line-height:.95;margin:22px 0 18px}
.cha-app-hero p{font-family:var(--cha-serif);font-size:18px;line-height:1.55;color:#575149;max-width:690px;margin:0}
.cha-date{font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--cha-muted);white-space:nowrap;padding-top:4px}
.cha-stats{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--cha-line);margin-bottom:66px}
.cha-stat{padding:28px 24px 30px 0;border-right:1px solid var(--cha-line)}
.cha-stat:not(:first-child){padding-left:24px}
.cha-stat:last-child{border-right:0}
.cha-stat span,.cha-stat small{display:block;color:var(--cha-muted);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.cha-stat strong{display:block;font-family:var(--cha-serif);font-size:44px;font-weight:400;letter-spacing:-.04em;margin:14px 0 8px}
.cha-section{margin-top:60px}
.cha-section-head{display:grid;grid-template-columns:52px 1fr auto;align-items:end;gap:14px;padding-top:15px;border-top:1px solid var(--cha-line);margin-bottom:28px}
.cha-section-head>span{font-size:10px;color:var(--cha-muted)}
.cha-section-head h2{margin:0;font-family:var(--cha-serif);font-size:31px;font-weight:400;letter-spacing:-.025em}
.cha-action{font-size:9px;letter-spacing:.13em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--cha-ink);padding-bottom:4px}
.cha-flowline{display:flex;flex-wrap:wrap;gap:8px}
.cha-flowline span{border:1px solid var(--cha-line);padding:9px 12px;font-size:9px;letter-spacing:.08em;text-transform:uppercase;background:transparent}
.cha-front-table{width:100%;border-collapse:collapse}
.cha-front-table th{padding:12px 12px 11px 0;border-bottom:1px solid var(--cha-line);text-align:left;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--cha-muted);font-weight:500}
.cha-front-table td{padding:19px 12px 19px 0;border-bottom:1px solid #ddd6ca;vertical-align:top;font-size:12px}
.cha-front-table td strong{font-family:var(--cha-serif);font-size:16px;font-weight:400}
.cha-front-table td small{display:block;margin-top:4px;color:var(--cha-muted)}
@media(max-width:900px){
  .cha-login-page{grid-template-columns:1fr}
  .cha-login-copy{min-height:48vh}
  .cha-app{grid-template-columns:1fr}
  .cha-sidebar{position:relative;height:auto;padding:22px}
  .cha-sidebar nav{margin-top:28px;display:grid;grid-template-columns:repeat(2,1fr);gap:0 18px}
  .cha-side-bottom{display:none}
  .cha-app-main{padding:0 22px 60px}
  .cha-stats{grid-template-columns:repeat(2,1fr)}
  .cha-stat:nth-child(2){border-right:0}
}
