
:root{
 --bg:#f5f0e8;--paper:#fffdf9;--ink:#171615;--muted:#716960;--line:#ded4c6;
 --dark:#211f1d;--dark2:#37302b;--gold:#b89b62;--gold2:#8d7444;--rose:#7d5b56;
 --sage:#5e7566;--cream:#f3ece1;--danger:#7d3b35;--shadow:0 22px 65px rgba(42,32,24,.10);
 --radius:24px;--navh:78px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at 15% 0%,rgba(184,155,98,.08),transparent 25%),linear-gradient(180deg,#faf7f1,var(--bg));color:var(--ink);font:16px/1.62 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;padding-bottom:calc(var(--navh) + env(safe-area-inset-bottom) + 24px)}
a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}
.wrap{width:min(1160px,100%);margin:auto;padding:22px 18px 38px}.mast{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin:4px 0 22px}
.brand{font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:900;color:var(--gold2)}.page-title{font:500 36px/1.08 Georgia,serif;margin:5px 0;letter-spacing:-.02em}
.private{font-size:11px;border:1px solid #d8cbb8;background:rgba(255,255,255,.78);backdrop-filter:blur(14px);border-radius:999px;padding:8px 12px;color:#645b52}
.card,.hero{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card{background:rgba(255,253,249,.97);padding:23px}.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--dark),var(--dark2));color:#fff;padding:34px}.hero:after{content:"";position:absolute;right:-100px;top:-120px;width:300px;height:300px;border:1px solid rgba(184,155,98,.22);border-radius:50%}
.hero .kicker{color:#d9bd88}.hero h1{font:500 43px/1.08 Georgia,serif;margin:7px 0 12px;max-width:820px;letter-spacing:-.025em}.hero p{max-width:800px;color:#e8dfd5;font-size:17px}
.kicker{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:900;color:var(--gold2)}
h2{font:500 30px/1.15 Georgia,serif;margin:0 0 8px}h3{font:500 20px/1.2 Georgia,serif;margin:0 0 6px}
.muted{color:var(--muted)}.small{font-size:13px}.fine{font-size:12px;color:var(--muted)}
.grid{display:grid;grid-template-columns:1.25fr .75fr;gap:17px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:17px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.stack{display:grid;gap:14px}.mt{margin-top:17px}.divider{height:1px;background:var(--line);margin:20px 0}.row{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}
label{display:block;font-weight:800;margin:13px 0 6px}textarea,input[type=text],input[type=date],select{width:100%;border:1px solid #d8cec0;background:#fffefb;border-radius:14px;padding:13px 14px;color:var(--ink);outline:none}textarea{min-height:110px;resize:vertical}
textarea:focus,input:focus,select:focus{border-color:#b89b62;box-shadow:0 0 0 3px rgba(184,155,98,.11)}
.btn{border:0;border-radius:13px;padding:12px 16px;font-weight:850;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary{background:linear-gradient(135deg,#967c4d,#b89b62);color:#fff}.btn-dark{background:var(--dark);color:#fff}.btn-soft{background:#f1ebe2;color:#2c2825;border:1px solid var(--line)}.btn-danger{background:#fff0ee;color:var(--danger);border:1px solid #eac8c4}.wide{width:100%}
.badge{display:inline-flex;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:900;background:#f2ebdf;border:1px solid #e2d7c6;color:#68573f}
.notice{border-radius:13px;padding:13px 14px;background:#faf3e6;border:1px solid #e7d7b7;color:#5e4b2e}.notice.ok{background:#eef5ef;border-color:#cbded0;color:#35533d}.notice.danger{background:#fff0ee;border-color:#ecc8c3;color:#71342f}
.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.metric{border:1px solid var(--line);background:#faf6ef;border-radius:16px;padding:15px}.metric b{display:block;font:500 27px/1.1 Georgia,serif}.metric span{font-size:11px;color:var(--muted)}
.plan{display:grid;gap:11px}.move{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;border:1px solid var(--line);border-radius:16px;padding:15px;background:#fff}.move.done{opacity:.58}.move.done .move-title{text-decoration:line-through}.move input{width:21px;height:21px;margin-top:3px}.move-title{font-weight:900}.move-meta{font-size:12px;color:var(--muted);margin-top:5px}
.quickgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.quick,.module-card{border:1px solid var(--line);border-radius:16px;padding:15px;background:#fff}.quick:hover,.module-card:hover{border-color:#b8a681;transform:translateY(-1px)}.quick b,.module-card b{display:block}.quick span,.module-card span{font-size:12px;color:var(--muted)}
.nav{position:fixed;z-index:60;left:50%;bottom:max(8px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(800px,calc(100% - 16px));display:grid;grid-template-columns:repeat(6,1fr);background:rgba(29,27,25,.98);backdrop-filter:blur(18px);padding:7px;border:1px solid rgba(255,255,255,.06);border-radius:20px;box-shadow:0 18px 50px rgba(0,0,0,.26)}.nav a{color:#cec7be;text-align:center;padding:10px 2px;border-radius:13px;font-size:9px;font-weight:850;letter-spacing:.02em}.nav a.active{background:#fff;color:#24211f}
.chat{height:53vh;min-height:410px;max-height:650px;overflow:auto;border:1px solid var(--line);border-radius:17px;background:linear-gradient(180deg,#fbf8f2,#f6f0e7);padding:15px;display:flex;flex-direction:column;gap:10px}.bubble{max-width:84%;padding:12px 14px;border-radius:15px;white-space:pre-wrap}.bubble.user{align-self:flex-end;background:#705954;color:#fff}.bubble.bot{align-self:flex-start;background:#fff;border:1px solid var(--line)}.next{margin-top:9px;border-left:3px solid var(--gold);background:#fff9ef;padding:10px;border-radius:8px;font-size:14px}.why{font-size:12px;color:#6f665d;margin-top:8px}.chatbar{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:10px}.chatbar textarea{min-height:62px}.chips{display:flex;gap:7px;flex-wrap:wrap;margin:11px 0}.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 10px;font-size:11px;font-weight:800}
.searchbar{display:grid;grid-template-columns:1fr 240px;gap:10px}.search{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;font:inherit}
.library-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.module-card .kicker{margin-bottom:5px}.count{font:500 24px Georgia,serif;color:var(--gold2)}
.mod-layout{display:grid;grid-template-columns:1fr .75fr;gap:17px}.steps{display:grid;gap:10px}.step{display:grid;grid-template-columns:42px 1fr;gap:12px;border:1px solid var(--line);background:#fff;border-radius:15px;padding:14px}.num{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#f2eadc;color:#725f3a;font-weight:900}.do-not{border-left:3px solid #b7857b;padding-left:13px}.escalate{border-left:3px solid var(--gold);padding-left:13px}.save-note{min-height:90px}
.chapter-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.chapter{border:1px solid var(--line);border-radius:17px;padding:17px;background:#fff}.chapter.current{border-color:#b9a374;box-shadow:0 0 0 3px rgba(184,155,98,.10)}.chapter.complete{background:#f4f8f4}
.assess{display:grid;gap:11px}.assess-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.assess-row input{width:180px}.score{width:28px;text-align:center;font-weight:900}.timeline{display:grid;gap:9px}.timeline-item{border-left:3px solid #c7b796;padding:6px 0 6px 12px}
.hidden{display:none!important}.footer{text-align:center;color:var(--muted);font-size:11px;margin:27px 0 0}
@media(max-width:800px){.wrap{padding:15px 12px 30px}.private{display:none}.page-title{font-size:30px}.hero{padding:25px}.hero h1{font-size:35px}.grid,.grid2,.grid3,.mod-layout,.chapter-grid,.library-grid{grid-template-columns:1fr}.quickgrid{grid-template-columns:1fr 1fr}.searchbar{grid-template-columns:1fr}.assess-row input{width:132px}.nav a{font-size:8.5px}.chat{height:55vh}}
@media(max-width:430px){.quickgrid{grid-template-columns:1fr}.metric{padding:11px}.metric b{font-size:23px}}
@media print{.nav,.no-print{display:none!important}body{padding:0}.wrap{max-width:none}.card{box-shadow:none}.chat{height:auto;max-height:none;overflow:visible}}
