:root{--ink:#202326;--ink2:#35393e;--silver:#aeb4bb;--smoke:#f3f4f5;--white:#fff;--text:#1e2226;--muted:#77808a;--border:#e2e5e8;--shadow:0 3px 22px #1c232a0d;--radius:15px}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#f5f6f7;color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}a{color:inherit}input,select,textarea{border:1px solid #d8dde1;background:white;color:var(--ink);border-radius:9px;padding:11px 12px;min-width:0;width:100%}textarea{resize:vertical;min-height:86px}input:focus,select:focus,textarea:focus{outline:2px solid #9da5af;outline-offset:1px}h1,h2,h3,h4,p{margin-top:0}h1{font-size:28px;letter-spacing:-.7px;margin-bottom:6px}h2{font-size:20px;letter-spacing:-.4px}h3{font-size:15px}small,.small{font-size:12px}.muted{color:var(--muted)}.tag{display:inline-flex;align-items:center;border-radius:100px;padding:6px 10px;background:#e9ebed;color:#3f464d;font-size:11px;font-weight:750;white-space:nowrap;letter-spacing:.1px}.tag.dark{background:#2f3337;color:white}.tag.closed{background:#dce0e3;color:#666d74}.tag.ahead{background:#dde8dd;color:#34563e}.tag.pending{background:#f2e8ce;color:#6d5630}.button{border:1px solid #d9dde0;border-radius:10px;padding:11px 15px;color:#25292e;background:white;display:inline-flex;gap:8px;align-items:center;justify-content:center;font-weight:650;font-size:13px;line-height:1.1}.button.primary{background:var(--ink);color:white;border-color:var(--ink)}.button:hover{filter:brightness(.97)}.button:focus-visible,.navitem:focus-visible{outline:2px solid #818a94;outline-offset:3px}.button.tiny{padding:8px 11px;font-size:11px}.button.ghost{background:transparent}.button.block{width:100%}.button.warn{color:#983a3a}.brand{display:flex;align-items:center;gap:11px}.logo{width:44px;height:44px;border-radius:12px;background:linear-gradient(130deg,#e9ecee,#8c959e);color:#1b1e20;display:grid;place-items:center;font-size:24px;font-weight:900;letter-spacing:-3px;flex:0 0 auto;padding-right:3px}.brand strong{font-size:12px;display:block;letter-spacing:1px;line-height:1.4}.brand small{display:block;color:#9da3aa;font-size:9px;letter-spacing:2.5px}.app{display:grid;grid-template-columns:254px minmax(0,1fr);min-height:100vh}.sidebar{background:#202326;color:#e4e7eb;padding:24px 15px;display:flex;flex-direction:column;gap:20px;position:sticky;top:0;height:100vh}.sidebar .brand{margin:0 9px 16px}.navlist{display:grid;gap:5px}.navlabel{color:#959ba2;font-size:10px;letter-spacing:1.6px;padding:8px 12px}.navitem{border:0;border-radius:11px;background:transparent;color:#afb5bc;padding:13px;display:flex;align-items:center;gap:12px;text-align:left;font-size:13px}.navitem span:first-child{font-size:17px;filter:grayscale(1);width:19px;text-align:center}.navitem.active,.navitem:hover{background:#363a3e;color:#fff}.sidebar-bottom{margin-top:auto;border-top:1px solid #40454a;padding:19px 10px 2px;font-size:12px;color:#aab1ba}.sidebar-bottom strong{display:block;color:white;margin:4px 0}.main{padding:0 34px 75px;min-width:0;max-width:1750px;width:100%}.topbar{height:83px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e1e4e6;gap:12px}.crumb{color:#879099;font-size:12px}.crumb b{color:#272b30}.topactions{display:flex;gap:9px}.pagehead{padding:29px 0 23px;display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.pagehead p{margin:8px 0 0;color:#7a828b;font-size:13px;line-height:1.55}.buttons{display:flex;gap:8px;flex-wrap:wrap}.card{border:1px solid #e2e5e8;background:white;border-radius:var(--radius);box-shadow:var(--shadow);padding:21px}.card h3{margin-bottom:13px}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.kpi{background:white;border:1px solid #e2e5e8;border-radius:14px;padding:20px;box-shadow:var(--shadow)}.kpi label{color:#87909a;font-size:11px;text-transform:uppercase;letter-spacing:.7px;font-weight:700;display:block}.kpi strong{display:block;font-size:29px;letter-spacing:-1px;margin-top:11px}.kpi span{font-size:12px;color:#848d95;display:block;margin-top:5px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.gridwide{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.85fr);gap:18px}.list{display:grid;gap:9px}.projectitem{border:1px solid #e8ebed;background:white;border-radius:12px;padding:15px 17px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.projectitem:hover,.docitem:hover,.contactitem:hover{background:#f6f7f8}.projectitem strong{display:block;font-size:14px}.projectitem small{display:block;color:#858d97;margin-top:6px}.listrow{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #eff0f2;padding:11px 0}.listrow:last-child{border-bottom:0}.helper{color:#7c858e;font-size:12px;line-height:1.7}.soft{background:#f6f7f8;border:1px solid #e5e7e9;border-radius:12px;padding:15px}.minihead{display:flex;justify-content:space-between;align-items:center;gap:9px;margin-bottom:14px}.minihead h3{margin:0}.tabs{display:flex;gap:5px;border-bottom:1px solid #e0e4e7;overflow-x:auto;margin-bottom:19px;scrollbar-width:none}.tabs button{border:0;background:transparent;color:#858c95;padding:13px 15px;border-bottom:2px solid transparent;font-size:12px;white-space:nowrap;font-weight:700}.tabs button.active{border-bottom-color:#292d31;color:#25292d}.chips{display:flex;gap:7px;flex-wrap:wrap}.chips button{border:1px solid #e0e4e7;background:#fff;padding:7px 12px;border-radius:20px;color:#626b74;font-size:11px}.chips button.active{background:#25292d;color:white;border-color:#25292d}.docitem{border:1px solid #e5e8ea;border-radius:11px;padding:14px;display:flex;justify-content:space-between;align-items:center;gap:11px}.docitem .name{font-size:12px;overflow-wrap:anywhere;font-weight:700;line-height:1.5}.docitem .meta{font-size:11px;color:#8b939b;margin-top:4px}.drop{border:2px dashed #bfc5cb;background:#f8f9fa;border-radius:14px;padding:32px 18px;text-align:center;transition:.2s}.drop.drag{background:#e7eaed;border-color:#3d454c}.drop strong{display:block;font-size:15px;margin:6px 0}.drop p{font-size:12px;color:#7a828b;line-height:1.6}.callout{background:#f3f4f5;border-left:3px solid #8b9299;padding:14px;border-radius:0 10px 10px 0;font-size:12px;color:#4d5862;line-height:1.55}.chat{border:1px solid #e1e4e7;background:white;border-radius:15px;display:flex;flex-direction:column;min-height:520px;overflow:hidden}.chat-header{padding:17px 20px;border-bottom:1px solid #e9ecee;display:flex;justify-content:space-between}.chat-scroll{padding:22px;display:flex;flex-direction:column;gap:17px;overflow:auto;min-height:280px;max-height:56vh;flex:1}.bubble{max-width:90%;border-radius:14px;padding:13px 16px;font-size:13px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.bubble.user{align-self:flex-end;background:#2b2f33;color:white;border-bottom-right-radius:4px}.bubble.ai{align-self:flex-start;background:#f2f4f5;color:#292e33;border-bottom-left-radius:4px}.source{display:block;font-size:10px;margin-top:10px;color:#767f88}.chat-compose{padding:14px;border-top:1px solid #e7eaec;display:flex;gap:10px}.chat-compose input{flex:1}.chat-compose button{flex:0 0 auto}.field{display:grid;gap:6px;font-size:12px;font-weight:650;color:#343b42}.field small{color:#8b939b;font-weight:400}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.full{grid-column:1/-1}.modal-backdrop{position:fixed;inset:0;background:#111820a8;display:grid;place-items:center;z-index:30;padding:16px}.modal{max-width:620px;width:min(100%,620px);background:#fff;border-radius:17px;box-shadow:0 18px 60px #0b0f1535;padding:23px;max-height:90vh;overflow:auto}.modal h2{margin:2px 0 9px}.modal footer{display:flex;gap:8px;justify-content:flex-end;margin-top:20px}.notice{border:1px solid #d5d9dc;background:#f4f6f7;color:#555e66;padding:12px;border-radius:10px;font-size:12px;line-height:1.6}.error{background:#ffeded;border:1px solid #edc7c7;color:#8e3030;padding:11px;border-radius:9px;font-size:12px}.empty{border:1px dashed #d3d8dc;border-radius:12px;padding:28px;color:#818a93;text-align:center;font-size:13px}.directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.contactitem{background:white;border:1px solid #e5e7e9;padding:17px;border-radius:13px;text-align:left;min-height:135px}.contactitem h3{margin:0 0 5px}.contactitem .meta{font-size:11px;color:#77808a;margin:5px 0}.amount{font-variant-numeric:tabular-nums;font-weight:800}.row{display:flex;align-items:center;gap:10px}.spread{justify-content:space-between}.boot{height:100vh;display:grid;place-content:center;text-align:center;background:#202326;color:#fff;font-size:27px;letter-spacing:2px;font-weight:850}.boot span{font-weight:350;color:#bac0c5}.boot small{display:block;color:#9fa7af;font-size:12px;letter-spacing:1px;margin:18px}.auth-screen{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#1a1c1f,#34393e);padding:20px}.auth-card{background:white;width:100%;max-width:430px;padding:35px;border-radius:17px;box-shadow:0 20px 75px #0005}.auth-card .brand{color:white;background:#262a2e;border-radius:13px;padding:13px;margin-bottom:24px}.auth-card h1{font-size:23px;margin-bottom:10px}.auth-card p{color:#77808a;font-size:13px;line-height:1.6}.auth-card form{display:grid;gap:13px;margin:22px 0 12px}.mobile-only{display:none}.desktop-only{display:block}.toast{position:fixed;bottom:22px;right:22px;border-radius:10px;background:#202326;color:white;padding:14px 19px;font-size:12px;z-index:50;box-shadow:0 10px 30px #0004}.login-help{font-size:11px;color:#8a929b;text-align:center;margin-top:14px}
@media(max-width:1100px){.directory{grid-template-columns:repeat(2,minmax(0,1fr))}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.gridwide{grid-template-columns:1fr}.main{padding:0 22px 70px}}
@media(max-width:750px){.app{display:block}.sidebar{height:auto;position:static;padding:13px 16px;flex-direction:row;justify-content:space-between;align-items:center}.sidebar .brand{margin:0}.sidebar .navlist,.sidebar .sidebar-bottom{display:none}.sidebar .brand small{letter-spacing:1px}.main{padding:0 15px 110px}.topbar{height:61px}.topactions .desktop-action{display:none}.pagehead{padding:23px 0 19px;flex-wrap:wrap}.pagehead h1{font-size:23px}.kpis{gap:9px}.kpi{padding:15px}.kpi strong{font-size:25px}.grid2,.gridwide{grid-template-columns:1fr}.card{padding:17px}.directory{grid-template-columns:1fr 1fr;gap:9px}.contactitem{padding:13px;min-height:110px}.contactitem h3{font-size:12px}.formgrid{grid-template-columns:1fr}.mobile-only{display:block}.desktop-only{display:none}.mobile-nav{position:fixed;bottom:0;left:0;right:0;z-index:15;background:#202326;display:flex;justify-content:space-around;padding:8px 4px calc(8px + env(safe-area-inset-bottom,0px));border-top:1px solid #444a50}.mobile-nav button{border:0;background:transparent;color:#9ca4ac;display:grid;justify-items:center;gap:3px;padding:5px 10px;font-size:10px}.mobile-nav button.active{color:white}.mobile-nav span{font-size:21px}.chat-scroll{max-height:46vh;min-height:300px}.modal{padding:18px}.toast{bottom:86px;right:12px;left:12px}.drop{padding:26px 10px}}
@media(max-width:400px){.directory{grid-template-columns:1fr}.projectitem{padding:12px}.button{padding:9px 11px}}
