@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--bg:#f5f7fa;--panel:#fff;--ink:#142738;--muted:#687986;--line:#e3eaf0;--accent:#087e76;--accent-soft:#e6f3f1;--danger:#b52f41;--shadow:0 2px 16px rgba(20,38,55,.025);--radius:15px;--peach:#f7f2eb;--blue:#edf3f8;--lavender:#f2f3f7;--yellow:#f5f3ea}
:root[data-theme=dark]{--bg:#0f1822;--panel:#192631;--ink:#f3f7fa;--muted:#a2b1bd;--line:#344351;--accent:#7cddca;--accent-soft:#193e3d;--peach:#2c3031;--blue:#222e3c;--lavender:#2c2c3a;--yellow:#353331;--shadow:0 5px 15px rgba(0,0,0,.08)}
body{font-family:inherit;font-size:14px;line-height:1.55;letter-spacing:-.06px}
.sidebar{width:254px;border-right:1px solid var(--line);box-shadow:none;padding:29px 15px}
.brand{display:flex;align-items:center;gap:9px;margin:0 12px 32px;font-size:22px;font-weight:800;letter-spacing:-1.1px;color:var(--ink)}
.brand span{margin-left:-8px}.brand-mark{flex-shrink:0}
.nav button,.mobile-nav button{display:flex;align-items:center;gap:13px;border-radius:9px;font-size:13.5px;font-weight:650;min-height:44px;padding:10px 12px}
.nav button.active,.mobile-nav button.active{background:var(--accent-soft);color:var(--accent)}.ui-icon{display:inline-block;flex-shrink:0}
.main{padding:26px 35px 72px;max-width:1250px}.desktop-toolbar{display:flex;justify-content:flex-end;min-height:35px;margin:-7px 0 3px}
.topbar h1{font-size:31px;letter-spacing:-1.15px;font-weight:800}.eyebrow{color:var(--accent);letter-spacing:1.25px;font-weight:750;font-size:10px}.sectionhead{margin:28px 0 14px}.subhead{font-size:18px;font-weight:750}
.panel{border-radius:15px;box-shadow:var(--shadow);padding:20px}.panel h3{font-size:16px}.btn{border-radius:9px;font-weight:700;min-height:40px;box-shadow:none;font-size:12.5px}.btn:hover:not(:disabled){transform:none;filter:brightness(.96)}.btn.secondary:hover,.iconbtn:hover{background:var(--accent-soft)}
.iconbtn{border-radius:9px}.field input,.field select,.field textarea,.input{border-radius:9px}.item{border-radius:10px}.metric-grid{gap:12px}.metric{border-radius:13px}.metric-value{font-weight:780}
.hero{background:linear-gradient(115deg,#122f40,#124f52);color:#fff;border:0;border-radius:20px;padding:34px 38px;min-height:208px}
.hero-kicker{color:#a9dfd7}.hero h2{color:#fff;font-size:clamp(27px,3.6vw,40px);letter-spacing:-1.6px}.hero p{color:#bdd4d9}
.hero-emblem{opacity:.12;color:#fff;padding:10px}.hero-cta{background:#fff;border-color:#fff;color:#143846;margin-top:18px}
.tile{min-height:142px;border-radius:14px;box-shadow:none;gap:12px}.tile:hover{transform:translateY(-1px);box-shadow:0 10px 25px rgba(16,45,60,.07)}
.tile .symbol{width:48px;height:48px;background:var(--accent-soft)!important;border-radius:12px;color:var(--accent)}.tile strong{font-size:17px;font-weight:750;letter-spacing:-.35px}.tile-arrow{font-size:18px;right:17px;top:16px}.tile small{font-size:12px}.notice{background:var(--accent-soft);border:1px solid var(--line)}.tag{background:var(--accent-soft);color:var(--accent)}.smart-strip,.finance-card{background:var(--panel);border:1px solid var(--line)}.catalog-tile .dept-icon{display:none}.cloud-status{display:none!important}
.notification-button{position:relative;display:grid;place-items:center;background:var(--panel);border:1px solid var(--line);color:var(--ink);width:39px;height:39px;border-radius:11px}
.notification-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.notification-dot{position:absolute;right:-6px;top:-6px;min-width:19px;height:19px;border-radius:12px;padding:0 4px;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:10px;font-weight:800}
.notice-popover{position:absolute;right:25px;top:70px;z-index:16;width:275px;padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:13px;box-shadow:0 14px 42px #0d233522}
.member-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.member-row:last-child{border-bottom:0}.member-identity{flex:1;display:flex;flex-direction:column;min-width:0}.member-identity b,.member-identity span{overflow:hidden;text-overflow:ellipsis}
.member-avatar{height:43px;width:43px;border-radius:50%;object-fit:cover;border:1px solid var(--line);flex-shrink:0}.member-avatar-fallback{background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:800;display:grid;place-items:center}.small-avatar{width:31px;height:31px;font-size:10px}
.member-actions{display:flex;flex-wrap:wrap;gap:8px;margin:17px 0}.chat-panel{padding:0;overflow:hidden}.chat-intro{padding:21px 23px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:2px}
.chat-messages{min-height:280px;max-height:62vh;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:14px}.chat-message{display:flex;gap:9px;align-items:flex-end;max-width:85%}.chat-message.mine{align-self:flex-end}
.chat-bubble{background:var(--bg);border:1px solid var(--line);padding:10px 13px;border-radius:13px;overflow-wrap:anywhere}.mine .chat-bubble{background:var(--accent-soft);border-color:transparent}.chat-sender{display:block;font-size:10px;font-weight:750;color:var(--muted);margin-bottom:4px}
.chat-compose{display:flex;gap:9px;padding:15px;border-top:1px solid var(--line)}.chat-compose input{min-width:0;flex:1;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:10px;padding:11px}.chat-panel>p{margin:4px 15px 16px}
.archive-options{display:grid;gap:11px;margin:15px 0}.archive-view{max-height:44vh;overflow:auto}.field[hidden]{display:none!important}
@media(max-width:770px){.mobile-header{padding:10px 16px}.mobile-header .brand{margin:0;font-size:20px}.mobile-header .brand-mark{width:28px;height:28px}.desktop-toolbar{display:none}.main{padding:20px 15px 70px}.hero{padding:24px}.hero-emblem{display:none}.nav button,.mobile-nav button{min-height:47px}.tile{min-height:142px}.mobile-nav{top:61px}.notice-popover{top:58px;right:12px}}
@media(max-width:460px){.tile strong{font-size:15px}.tile small{font-size:11px}.tile{min-height:132px}.hero h2{font-size:29px}.metric-label{font-size:10px}.metric-value{font-size:23px}.member-identity span{font-size:10px}.chat-message{max-width:91%}}
