:root{--ink:#203c38;--green:#2f5b52;--sage:#dce8e2;--cream:#f7f3ea;--gold:#c69a55;--white:#fff;--muted:#6c7975;--line:#e3e8e5;--danger:#9d3f3f;--shadow:0 16px 40px rgba(27,55,49,.1)}*{box-sizing:border-box}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:#f8faf9}button,input,textarea{font:inherit}.hidden{display:none!important}.eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.18em;color:var(--gold);margin:0 0 10px}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}.login-brand{background:linear-gradient(145deg,#244b43,#17342f);color:white;padding:clamp(40px,8vw,120px);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.login-brand:after{content:"";position:absolute;width:430px;height:430px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-160px;bottom:-160px;box-shadow:0 0 0 70px rgba(255,255,255,.03),0 0 0 140px rgba(255,255,255,.02)}.brand-mark{width:62px;height:62px;border:1px solid var(--gold);display:grid;place-items:center;font-family:'Playfair Display',serif;font-size:1.35rem;color:var(--gold);margin-bottom:42px}.login-brand h1{font:700 clamp(2.4rem,5vw,4.4rem)/1.06 'Playfair Display',serif;max-width:680px;margin:0 0 25px}.login-brand>p:not(.eyebrow){font-size:1.08rem;line-height:1.7;max-width:580px;color:#dce7e3}.trust-note{margin-top:36px;display:flex;gap:10px;align-items:center}.trust-note span{color:var(--gold)}.login-panel{display:grid;place-items:center;padding:30px}.login-card{width:min(440px,100%);background:white;padding:44px;border-radius:18px;box-shadow:var(--shadow)}.login-card h2{font:700 2rem 'Playfair Display',serif;margin:0 0 8px}.muted{color:var(--muted)}label{display:grid;gap:8px;font-weight:600;font-size:.9rem;margin-top:22px}input,textarea{border:1px solid #ced8d3;border-radius:10px;padding:13px 14px;outline:none;background:white}input:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(47,91,82,.1)}button{cursor:pointer;border:0}.primary{width:100%;background:var(--green);color:white;padding:14px;border-radius:10px;font-weight:700;margin-top:26px}.primary:hover{background:#244a42}.error{color:var(--danger);min-height:20px;font-size:.88rem}.app-shell{min-height:100vh;display:grid;grid-template-columns:255px 1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:255px;background:#193b35;color:white;padding:25px 18px;display:flex;flex-direction:column;z-index:10}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:0 8px 28px;border-bottom:1px solid rgba(255,255,255,.1)}.brand-mark.small{width:42px;height:42px;margin:0;font-size:1rem}.sidebar-brand span{display:block;color:#acc1bb;font-size:.75rem;margin-top:2px}.sidebar nav{padding-top:25px;display:grid;gap:6px}.nav-item{background:transparent;color:#c9d8d3;text-align:left;padding:12px 14px;border-radius:9px;display:flex;align-items:center;gap:12px}.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.1);color:white}.nav-item .badge{margin-left:auto;background:var(--gold);color:#17342f;border-radius:99px;min-width:20px;text-align:center}.security-note{margin-top:auto;background:rgba(255,255,255,.07);border-left:3px solid var(--gold);padding:14px;border-radius:6px;font-size:.75rem}.security-note p{color:#bdd0ca;line-height:1.5;margin:5px 0 0}.logout{margin-top:12px}.main-area{grid-column:2}.main-area header{height:92px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 40px;position:sticky;top:0;z-index:5}.main-area header h2{margin:0;font:700 1.5rem 'Playfair Display',serif}.user-chip{margin-left:auto;display:flex;align-items:center;gap:10px}.user-chip>span{width:38px;height:38px;border-radius:50%;background:var(--sage);display:grid;place-items:center;font-weight:700}.user-chip small{display:block;color:var(--muted);text-transform:capitalize}.content{padding:35px 40px;max-width:1300px}.welcome{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:28px}.welcome h1{font:700 2.2rem 'Playfair Display',serif;margin:0}.status-pill{background:var(--sage);color:var(--green);padding:8px 13px;border-radius:99px;font-size:.8rem;font-weight:700}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}.card{background:white;border:1px solid var(--line);border-radius:14px;padding:24px;box-shadow:0 5px 18px rgba(30,61,54,.04)}.card h3{font:700 1.2rem 'Playfair Display',serif;margin:0 0 7px}.span-8{grid-column:span 8}.span-4{grid-column:span 4}.span-12{grid-column:span 12}.progress-ring{--value:0;width:100px;height:100px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--gold) calc(var(--value)*1%),var(--sage) 0);position:relative;margin:14px auto}.progress-ring:before{content:"";position:absolute;width:76px;height:76px;border-radius:50%;background:white}.progress-ring strong{position:relative;font-size:1.2rem}.checklist{list-style:none;padding:0;margin:20px 0 0}.checklist li{padding:13px 0;border-top:1px solid var(--line);display:flex;align-items:center;gap:11px}.checklist input{accent-color:var(--green);width:18px;height:18px}.resource-grid,.client-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}.resource-card{border-top:3px solid var(--gold)}.resource-card .category{font-size:.7rem;letter-spacing:.1em;color:var(--gold);font-weight:700}.resource-card a{display:inline-block;color:var(--green);font-weight:700;margin-top:10px}.chat{height:calc(100vh - 200px);min-height:500px;display:grid;grid-template-rows:auto 1fr auto;background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden}.chat-head{padding:18px 22px;border-bottom:1px solid var(--line)}.messages{padding:22px;overflow-y:auto;background:#f8faf9;display:flex;flex-direction:column;gap:13px}.message{max-width:70%;padding:11px 14px;border-radius:13px 13px 13px 3px;background:white;border:1px solid var(--line)}.message.mine{align-self:flex-end;background:var(--green);color:white;border-radius:13px 13px 3px 13px}.message time{display:block;font-size:.66rem;opacity:.65;margin-top:5px}.chat-form{display:flex;gap:10px;padding:15px;border-top:1px solid var(--line)}.chat-form textarea{flex:1;resize:none}.chat-form button{width:auto;margin:0;padding:0 24px}.warning{background:#fff9ed;border:1px solid #ead6ad;color:#725d33;padding:11px 15px;font-size:.78rem}.client-card button{width:auto;padding:9px 13px;margin-top:10px}.client-card .meta{display:flex;justify-content:space-between;color:var(--muted);font-size:.8rem}.empty{text-align:center;color:var(--muted);padding:40px}.modal{position:fixed;inset:0;background:rgba(11,30,26,.55);z-index:20;display:grid;place-items:center;padding:20px}.modal-card{background:white;width:min(520px,100%);padding:28px;border-radius:16px;max-height:90vh;overflow:auto}.modal-head{display:flex;justify-content:space-between}.modal-head button{background:none;font-size:1.4rem}.menu-btn{display:none;background:none;font-size:1.2rem;margin-right:15px}.toast{position:fixed;right:25px;bottom:25px;background:var(--ink);color:white;padding:12px 18px;border-radius:9px;z-index:50;transform:translateY(80px);opacity:0;transition:.25s}.toast.show{transform:none;opacity:1}@media(max-width:850px){.login-shell{grid-template-columns:1fr}.login-brand{display:none}.app-shell{grid-template-columns:1fr}.main-area{grid-column:1}.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none}.menu-btn{display:block}.content{padding:25px 18px}.main-area header{padding:0 18px}.span-8,.span-4{grid-column:span 12}.user-chip div{display:none}.welcome{align-items:start;flex-direction:column}.message{max-width:88%}}
