:root{--navy:#111a25;--navy2:#172434;--cream:#f7f7f2;--paper:#ffffff;--ink:#243342;--muted:#778492;--line:#e6eae8;--sage:#b7ccba;--green:#3e7165;--violet:#766a9e;--soft:#edf3ef;--amber:#a97536;--shadow:0 12px 32px rgba(28,42,55,.06)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--cream);color:var(--ink)}button,input,textarea,select{font:inherit}button{cursor:pointer}input,textarea,select{accent-color:var(--green)}.muted{color:var(--muted)}.small{font-size:12px}.micro{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:750}.hidden{display:none!important}.full{width:100%}
.startup{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--navy);color:white}.startup h1{font-family:Georgia,serif;font-size:35px;letter-spacing:-.04em;margin:14px 0 3px}.startup p{color:#aebac4}.logo-mark{display:grid;place-items:center;background:var(--sage);color:var(--navy);width:46px;height:46px;border-radius:16px;font-size:27px}
.auth-screen{min-height:100vh;display:grid;place-items:center;background:linear-gradient(138deg,#12202e 0%,#182b38 55%,#2a403b 100%);padding:25px}.auth-card{width:min(450px,100%);background:white;border-radius:25px;padding:36px;box-shadow:0 40px 90px #0003}.auth-card .logo-mark{margin-bottom:24px}.auth-card h1{font-family:Georgia,serif;font-weight:500;letter-spacing:-.04em;font-size:35px;margin:0 0 7px}.auth-card p{line-height:1.6;color:#687685;margin:0 0 24px}.field{display:flex;flex-direction:column;gap:8px;margin:0 0 17px}.field label{font-size:12px;text-transform:uppercase;letter-spacing:.075em;font-weight:780;color:#61707d}.field input,.field textarea,.field select,.searchbar{background:#fbfcfb;border:1px solid #dce4e0;border-radius:11px;padding:13px 14px;outline:none;color:var(--ink);width:100%;min-width:0}.field textarea{resize:vertical;min-height:94px;line-height:1.5}.field input:focus,.field textarea:focus,.field select:focus,.searchbar:focus{border-color:var(--green);box-shadow:0 0 0 3px #4e80731b}.help{font-size:12px;line-height:1.5;color:#7d8b8a}.btn{display:inline-flex;gap:9px;align-items:center;justify-content:center;border-radius:11px;padding:11px 16px;font-weight:700;border:1px solid var(--line);background:white;color:#345065;text-decoration:none;white-space:nowrap}.btn:hover{filter:brightness(.97)}.btn:disabled{opacity:.5;cursor:wait}.btn-primary{background:var(--green);border-color:var(--green);color:white}.btn-dark{background:var(--navy);border-color:var(--navy);color:white}.btn-light{background:#f3f7f5;border-color:#e5eeea;color:var(--green)}.btn-danger{background:#fff2f1;border-color:#f4d7d4;color:#ab4340}.btn-icon{padding:9px 12px}.btn-xs{padding:7px 10px;font-size:12px}.link-button{border:0;background:none;padding:0;color:var(--green);font-weight:700}.error{color:#a83134;background:#fff0f0;border:1px solid #f1cccc;padding:10px 12px;border-radius:9px;font-size:13px;margin:14px 0}.auth-note{font-size:12px;color:#89939b;border-top:1px solid var(--line);padding-top:20px;margin-top:23px;line-height:1.5}
.shell{display:flex;min-height:100vh}.sidebar{background:var(--navy);color:#d8e1e8;width:282px;flex:0 0 282px;padding:29px 17px 24px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow:auto}.brand{display:flex;align-items:center;gap:11px;padding:0 10px 28px}.brand .logo-mark{width:35px;height:35px;border-radius:12px;font-size:20px}.brand-name{color:white;font-size:21px;font-family:Georgia,serif;letter-spacing:-.05em}.brand-caption{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#a6b4bf;margin-top:3px}.side-nav{display:grid;gap:6px;margin:0 0 22px}.navbtn{width:100%;background:transparent;border:0;border-radius:11px;color:#aebcc6;text-align:left;padding:12px;display:flex;align-items:center;gap:12px;font-size:14px}.navbtn.active,.navbtn:hover{background:#233747;color:white}.navicon{width:24px;text-align:center;font-size:17px}.side-label{padding:0 12px 11px;color:#92a4b0}.sidebar .searchbar{background:#1d2c3a;border-color:#2e4150;color:white;padding:10px 12px;font-size:13px}.sidebar .searchbar::placeholder{color:#8296a4}.person-links{display:grid;gap:3px;margin:11px 0;max-height:44vh;overflow:auto}.personlink{width:100%;display:flex;align-items:center;gap:10px;text-align:left;background:transparent;border:0;border-radius:10px;color:#becbd4;padding:9px 12px;font-size:13px}.personlink.active,.personlink:hover{background:#223648;color:#fff}.avatar-sm,.avatar{display:grid;place-items:center;background:#dfece5;color:#3e7165;border-radius:12px;font-weight:800}.avatar-sm{width:31px;height:31px;flex:0 0 31px;font-size:12px}.avatar{width:62px;height:62px;font-size:26px;border-radius:19px}.side-bottom{margin-top:auto;padding:20px 9px 0;border-top:1px solid #344452}.side-bottom p{font-size:12px;color:#a2b5c1;line-height:1.5}.side-bottom .btn{width:100%;background:#24394a;border-color:#344f5e;color:#e5f1f0}
.content{padding:40px 48px 90px;flex:1;min-width:0;max-width:1500px;margin:0 auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:38px}.eyebrow{color:var(--green);letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:800}.topbar h1{font-family:Georgia,serif;font-size:clamp(30px,3vw,42px);font-weight:500;letter-spacing:-.045em;margin:8px 0 0}.top-actions{display:flex;gap:9px;align-items:center}.lead{font-size:15px;color:#6d7b86;line-height:1.65;margin:8px 0 26px;max-width:680px}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:30px}.stat{background:white;border:1px solid var(--line);border-radius:17px;padding:20px 23px;box-shadow:var(--shadow)}.stat .big{font:500 35px Georgia,serif;color:var(--ink);margin:9px 0 5px}.stat .desc{font-size:12px;color:var(--muted)}.sectionhead{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:29px 0 15px}.sectionhead h2{font-family:Georgia,serif;font-size:24px;letter-spacing:-.03em;font-weight:500;margin:0}.card{border:1px solid var(--line);border-radius:17px;background:white;box-shadow:var(--shadow);padding:22px}.card + .card{margin-top:12px}.empty{background:white;border:1px dashed #d4dfd8;border-radius:20px;padding:40px 24px;text-align:center}.empty .symbol{font-size:33px;margin-bottom:13px}.empty h3{font:500 24px Georgia,serif;margin:0 0 11px}.empty p{color:#7a8790;line-height:1.6;max-width:450px;margin:0 auto 20px}.people-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.person-card{display:flex;gap:15px;align-items:start;text-align:left;width:100%;background:white;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow)}.person-card:hover{border-color:#9cbdb0}.person-card h3{margin:4px 0 5px;font-size:16px}.person-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.4}.countbadge{margin-left:auto;color:#6e8a80;background:#edf4ef;padding:5px 9px;border-radius:20px;font-size:12px;white-space:nowrap}.row{display:flex;gap:12px;align-items:center}.space-between{justify-content:space-between}.wrap{flex-wrap:wrap}.tag{display:inline-block;border-radius:20px;padding:6px 10px;background:#eff3f2;font-size:11px;color:#526f67;margin:0 4px 4px 0;font-weight:700}.tag.source{background:#eff0f8;color:#726a9e}.tag.kind{background:#f8f1e9;color:#967343}.hero{display:flex;gap:19px;align-items:center;border-radius:20px;background:#eaf1ec;border:1px solid #d9e5dc;padding:26px;margin-bottom:23px}.hero h2{font:500 28px Georgia,serif;margin:0 0 5px}.hero p{margin:4px 0;line-height:1.5;color:#5c756b}.hero-actions{margin-left:auto;display:flex;gap:8px}.two-col{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:22px;align-items:start}.note-list{display:grid;gap:12px}.note-card{background:white;border:1px solid var(--line);padding:20px;border-radius:15px;box-shadow:var(--shadow)}.note-head{display:flex;align-items:start;justify-content:space-between;gap:10px;margin-bottom:10px}.note-head h3{font-weight:700;font-size:15px;margin:4px 0 0}.note-head small{color:var(--muted);font-size:11px}.note-body{line-height:1.65;color:#465760;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.note-foot{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:14px}.note-meta{font-size:12px;color:var(--muted)}.key-value{padding:15px 0;border-bottom:1px solid var(--line)}.key-value:last-child{border-bottom:0}.key-value .micro{color:#768680;margin-bottom:9px}.key-value p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.65;margin:0;color:#53636b}.insight{background:#eff5f0;border:1px solid #e1eae2;border-radius:17px;padding:21px}.insight h3{margin:0 0 10px;font:500 22px Georgia,serif}.insight p,.insight li{font-size:13px;line-height:1.65;color:#537067}.insight ul{margin:9px 0;padding-left:18px}.analysis-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.analysis-grid .card h3{margin:0 0 8px;font:500 21px Georgia,serif}.analysis-grid .card p{font-size:13px;color:#687883;line-height:1.65}.prompt-box{white-space:pre-wrap;overflow-wrap:anywhere;background:#f4f7f5;border:1px solid #dfe7e2;border-radius:12px;padding:17px;font-size:12px;line-height:1.7;max-height:270px;overflow:auto;color:#50635e}.warning{background:#fff9ed;border:1px solid #f0dfba;color:#876632;border-radius:12px;padding:13px 15px;font-size:13px;line-height:1.5}.callout{background:#eff5f0;padding:18px;border-radius:13px;border:1px solid #e1eae2;font-size:13px;line-height:1.65;color:#52685d}.textblock{font-size:13px;line-height:1.7;color:#596971}.divider{border:0;border-top:1px solid var(--line);margin:18px 0}.secondary-link{color:var(--green);font-size:13px;font-weight:700}.statmini{font-size:28px;font-family:Georgia,serif;margin:8px 0}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%) translateY(20px);opacity:0;pointer-events:none;padding:12px 18px;border-radius:12px;background:var(--navy);color:white;z-index:80;transition:all .2s;box-shadow:var(--shadow);font-size:13px}.toast.show{transform:translateX(-50%) translateY(0);opacity:1}
.modalback{position:fixed;inset:0;background:rgba(9,20,28,.62);z-index:70;display:flex;align-items:center;justify-content:center;padding:18px;overflow:auto}.modal{width:min(600px,100%);max-height:min(88vh,900px);overflow:auto;background:white;border-radius:21px;box-shadow:0 30px 100px #0004;padding:28px}.modalhead{display:flex;gap:15px;align-items:flex-start;justify-content:space-between;margin-bottom:22px}.modalhead h2{font:500 28px Georgia,serif;letter-spacing:-.03em;margin:0}.modalhead p{margin:7px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.closebtn{border:0;background:#edf2f0;width:30px;height:30px;border-radius:9px;color:#5b6f6e}.modalfoot{display:flex;gap:9px;justify-content:flex-end;padding-top:10px}.fieldgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 13px}
@media(max-width:1100px){.sidebar{width:245px;flex-basis:245px}.content{padding:34px 30px 70px}.two-col{grid-template-columns:1fr}.two-col > aside{display:grid;grid-template-columns:1fr 1fr;gap:13px}.two-col > aside .card{margin-top:0}}
@media(max-width:720px){.shell{display:block}.sidebar{width:100%;height:auto;position:sticky;top:0;z-index:20;padding:10px 16px;flex-direction:row;align-items:center;gap:12px;box-shadow:0 7px 24px #111a2522}.brand{padding:0;margin-right:auto;gap:8px}.brand .logo-mark{width:30px;height:30px}.brand-name{font-size:19px}.brand-caption,.sidebar .side-label,.sidebar .searchbar,.sidebar .person-links,.side-bottom{display:none}.side-nav{display:flex;margin:0}.navbtn{width:auto;padding:9px}.navbtn .navtext{display:none}.content{padding:26px 18px 80px}.topbar{align-items:flex-start;margin-bottom:24px}.topbar h1{font-size:31px}.top-actions{flex-wrap:wrap;justify-content:flex-end}.top-actions .btn{font-size:12px;padding:9px 10px}.stat-grid{gap:8px}.stat{padding:15px 13px}.stat .big{font-size:28px}.people-grid,.analysis-grid,.two-col > aside{grid-template-columns:1fr}.hero{align-items:start;flex-wrap:wrap;padding:20px}.hero-actions{margin-left:0;width:100%;flex-wrap:wrap}.fieldgrid{grid-template-columns:1fr}.modal{padding:22px}.auth-card{padding:27px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
