:root{font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:#1b2d2b;background:#f5f7f6;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}.app{height:100dvh;display:flex;overflow:hidden}.sidebar{width:272px;background:#142b28;color:#f2f7f5;display:flex;flex-direction:column;flex:none;padding:28px 13px 12px}.brand{display:flex;gap:12px;align-items:center;padding:0 10px 31px}.logo{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#b2df8b;color:#173a2d;font-size:24px;font-weight:900;letter-spacing:-2px}.logo span{color:#43884f}.brand strong{font-size:15px;letter-spacing:.7px}.brand small{display:block;font-size:10px;letter-spacing:2px;color:#a6b8b2;margin-top:4px}.section-label{color:#829c94;font-size:10px;font-weight:750;letter-spacing:1.6px;margin:13px 12px 11px}.nav-item{width:100%;border:0;background:transparent;color:#c1d1cc;text-align:left;border-radius:10px;padding:12px 13px;font-size:14px;display:flex;align-items:center;gap:12px;margin-bottom:5px}.nav-item:hover{background:#23443c}.nav-item.active{background:#32584a;color:#fff;font-weight:650}.nav-icon{width:22px;text-align:center;font-size:19px}.profile{display:flex;align-items:center;gap:10px;margin-top:auto;border-top:1px solid #38514b;padding:16px 6px 2px}.avatar{width:37px;height:37px;border-radius:12px;background:#456b56;display:grid;place-items:center;color:#effee8;font-weight:800}.profile-text{display:flex;flex-direction:column;min-width:0}.profile-text strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-text small{font-size:11px;color:#9fb5ac;margin-top:4px}#logout{margin-left:auto;border:0;background:transparent;color:#d9e3dd;font-size:20px}.main{flex:1;display:flex;flex-direction:column;min-width:0}header{height:86px;padding:16px 33px;background:white;border-bottom:1px solid #e8edeb;display:flex;align-items:center;justify-content:space-between;flex:none}.overline{font-size:10px;font-weight:800;letter-spacing:1.5px;color:#82a192}h2{font-size:23px;margin:6px 0 0;letter-spacing:-.6px}.status{font-size:12px;color:#6d857e;display:flex;gap:8px;align-items:center}.status-dot{height:8px;width:8px;border-radius:50%;background:#d7a65d}.status-dot.online{background:#48a678}.chat-view{min-height:0;display:flex;flex:1;flex-direction:column}.messages{padding:30px min(7%,80px);overflow:auto;flex:1}.msg{max-width:670px;margin:0 auto 13px;padding:14px 17px;background:#fff;border:1px solid #e9eeeb;border-radius:13px;box-shadow:0 2px 8px #132c1a04}.msg-top{display:flex;align-items:center;gap:9px;margin-bottom:8px}.msg-top strong{font-size:13px}.msg-top time{font-size:11px;color:#9aaba4}.msg-body{font-size:14px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.empty{max-width:670px;margin:60px auto;text-align:center;color:#81958e}.empty strong{display:block;color:#334a42;font-size:18px;margin:12px}.composer{background:white;border-top:1px solid #e6edeb;padding:17px min(7%,80px);display:flex;gap:11px}.composer input{flex:1;min-width:0;border:1px solid #dce5e0;border-radius:12px;padding:14px 16px;outline:0}.composer input:focus,input:focus,select:focus{border-color:#579c72;outline:2px solid #a4d5b250}.send,.primary{background:#255a45;color:white;border:0;border-radius:11px;padding:13px 20px;font-weight:650}.send{font-size:19px}.send:hover,.primary:hover{background:#164633}.content-view{flex:1;overflow-y:auto;padding:36px min(7%,80px);display:flex;flex-wrap:wrap;gap:20px;align-content:flex-start}.panel{background:white;border:1px solid #e6ece8;border-radius:17px;padding:30px;width:min(100%,490px);height:max-content}.panel-icon{height:46px;width:46px;border-radius:12px;background:#e6f3e8;color:#356b4d;display:grid;place-items:center;font-size:24px}.panel h3{font-size:20px;margin:16px 0 7px}.panel p{font-size:13px;line-height:1.7;color:#74867c;margin-bottom:25px}.panel form{display:flex;flex-direction:column;gap:17px}label{font-size:12px;font-weight:650;display:flex;flex-direction:column;gap:8px}label input,label select{border:1px solid #dce5e0;border-radius:10px;padding:12px;background:white;font-size:14px;width:100%}.feedback{font-size:13px;color:#296f4e}.row-report{padding:12px 0;border-bottom:1px solid #eef2ef;font-size:13px}.row-report small{color:#82958a;display:block;margin-top:5px}.login{min-height:100dvh;display:grid;place-items:center;background:linear-gradient(140deg,#15342d,#234d3a);padding:20px}.login-box{width:min(100%,390px);background:white;padding:35px;border-radius:22px;box-shadow:0 30px 70px #091c1540;display:flex;flex-direction:column;gap:18px}.login-box .large{width:57px;height:57px;font-size:31px}.login-box h1{margin:0;letter-spacing:1px;font-size:26px}.login-box p{color:#7d9487;font-size:13px;margin:-11px 0 9px}.login-box .primary{margin-top:7px}.error{color:#b13636;font-size:12px}.mobile-menu{display:none;border:none;background:none;font-size:22px}@media(max-width:700px){.sidebar{position:absolute;z-index:20;left:0;top:0;bottom:0;transform:translateX(-100%);transition:transform .2s;width:275px;box-shadow:5px 0 20px #0001}.sidebar.open{transform:translateX(0)}header{height:74px;padding:12px 20px}.mobile-menu{display:block;margin-right:12px}.main header{justify-content:flex-start}.status{margin-left:auto;font-size:0}h2{font-size:19px}.messages{padding:15px}.composer{padding:12px; padding-bottom:max(12px, env(safe-area-inset-bottom))}.content-view{padding:17px}.panel{padding:22px}.msg{padding:12px 13px}.login-box{padding:28px}}

.dimensions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.dimensions input{width:100%;min-width:0}@media(max-width:600px){.dimensions{grid-template-columns:1fr}}

.unread-badge{margin-left:auto;background:#b2df8b;color:#173a2d;border-radius:12px;padding:2px 7px;font-size:11px;font-weight:750}

/* v1.1 mobile and authenticated photo preview */
.message-attachments{display:flex;flex-direction:column;align-items:flex-start;gap:9px;margin-top:10px}
.message-attachments a{overflow-wrap:anywhere;font-size:13px;color:#1f654d}
.image-thumbnail{border:0;padding:0;border-radius:12px;overflow:hidden;background:#e7efea;max-width:min(100%,310px);cursor:zoom-in}
.image-thumbnail img{display:block;width:100%;max-height:260px;object-fit:contain}
.image-preview{border:0;border-radius:15px;padding:14px;max-width:min(96vw,1000px);max-height:94dvh;box-shadow:0 20px 90px #0008;background:#fff}
.image-preview::backdrop{background:#071b18d9}
.image-preview img{display:block;max-width:calc(96vw - 30px);max-height:calc(86dvh - 60px);object-fit:contain}
.image-preview p{margin:8px 0 0;overflow-wrap:anywhere;font-size:13px}
.image-preview button{position:absolute;right:12px;top:12px;border:0;border-radius:50%;width:36px;height:36px;background:#142b28;color:white;font-size:18px}
.sidebar-backdrop{display:none}
@media(max-width:700px){
  .sidebar{position:fixed;overscroll-behavior:contain;overflow-y:auto;padding-top:max(22px,env(safe-area-inset-top))}
  .sidebar-backdrop:not(.hidden){display:block;position:fixed;inset:0;z-index:19;border:0;background:#0008}
  .main{min-width:0}.mobile-menu{min-width:44px;min-height:44px}
  .messages{overscroll-behavior:contain}.composer{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right));align-items:center}
  .composer #messageInput{min-height:45px;font-size:16px}.composer .file-picker{min-width:44px;min-height:44px;display:grid;place-items:center;font-size:22px;cursor:pointer}
  .composer .send{min-width:46px;min-height:46px;padding:10px}.nav-item{min-height:45px}
  header{padding-left:9px;padding-right:12px}h2{font-size:18px}
  .content-view{padding-bottom:max(22px,env(safe-area-inset-bottom))}
  .image-thumbnail{max-width:100%}
}

#enableNotifications{background:transparent;border:0;color:#d9e3dd;font-size:22px;padding:4px;cursor:pointer}#enableNotifications:hover{color:#b2df8b}.notify-status{font-size:12px;color:#245f43;background:#edf7ed;text-align:center}.notify-status:empty{display:none}

/* v1.7 accessible built-in emoji picker */
.emoji-picker-wrap{position:relative;display:flex;align-items:center;flex:none}
.emoji-button{width:44px;height:44px;border:1px solid #dce5e0;background:#fff;border-radius:11px;font-size:23px;cursor:pointer}
.emoji-button:hover,.emoji-button:focus-visible{background:#eff6f0;outline-color:#579c72}
.emoji-picker{position:absolute;bottom:calc(100% + 12px);right:-60px;width:min(320px,calc(100vw - 24px));max-height:310px;background:white;border:1px solid #dce5e0;border-radius:14px;box-shadow:0 12px 35px #142b2838;padding:12px;z-index:18;overflow-y:auto}
.emoji-picker-title{display:flex;align-items:center;justify-content:space-between;font-weight:650;font-size:13px;color:#335247;margin-bottom:10px}
.emoji-picker-title button{border:0;background:transparent;font-size:17px;cursor:pointer}
.emoji-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.emoji-choice{width:100%;aspect-ratio:1;border:0;background:transparent;border-radius:8px;font-size:24px;display:grid;place-items:center;cursor:pointer;padding:0}
.emoji-choice:hover,.emoji-choice:focus-visible{background:#edf6ee;outline-color:#579c72}
@media(max-width:700px){.emoji-picker{right:-70px;max-height:min(310px,55dvh)}.composer{gap:5px}.emoji-button{width:42px;height:44px}.composer #messageInput{padding-left:10px;padding-right:8px}}

/* v2.1 — PALLETPRO design system. No external fonts, assets or tracking. */
:root{--ink:#152b25;--pine:#163b30;--pine-2:#224d3d;--accent:#b6dd8b;--line:#e5ebe7;--muted:#6e8279;--canvas:#f4f6f3;--radius:18px;font-family:Inter,"Segoe UI",system-ui,-apple-system,sans-serif;background:var(--canvas)}
body{color:var(--ink)}button{transition:background-color .17s,border-color .17s,transform .17s}button:focus-visible,a:focus-visible{outline:3px solid #88bd85;outline-offset:2px}
.sidebar{width:282px;background:linear-gradient(165deg,#102d25 0%,#183b31 63%,#214638 100%);padding:26px 13px 13px;overflow-y:auto}
.brand{padding:3px 11px 25px;border-bottom:1px solid #ffffff1c;margin-bottom:15px}
.brand strong{font-size:16px;letter-spacing:.6px;font-weight:800}.brand small{font-size:10px;letter-spacing:2.7px}
.logo{border-radius:14px;background:#c2e4a2;color:#214d39;box-shadow:inset 0 -2px 0 #6b95542b;width:44px;height:44px;letter-spacing:normal}
.logo svg{width:32px;height:32px}.logo.large{width:66px;height:66px;border-radius:19px}.logo.large svg{width:45px;height:45px}
.nav-item{min-height:45px;padding:11px 13px;gap:12px;font-size:13px;font-weight:560;border-radius:11px;color:#d1e0d7}
.nav-item:hover{background:#ffffff13}.nav-item.active{background:#c7e7a5;color:#19382d;font-weight:800}
.nav-item .nav-icon,.vector-icon{display:inline-grid;place-items:center;width:20px;height:20px;flex:none}.nav-item .nav-icon svg,.vector-icon svg{width:20px;height:20px}
.nav-item.active svg{stroke:#214636}.nav-soon{margin-left:auto;font-size:10px;color:#a7bdaf;font-weight:500;border:1px solid #ffffff24;border-radius:8px;padding:3px 6px}
.section-label{font-size:10px;letter-spacing:1.45px;color:#9bb6a8;margin-top:22px}
#directPeers{padding-bottom:10px}#directPeers .nav-item{padding-left:16px}
.profile{padding:18px 6px 4px;background:#ffffff06;margin-top:auto}.avatar{border-radius:12px;background:#b6dd8b;color:#204734}
#logout,#enableNotifications{display:inline-grid;place-items:center;color:#e4eee8;border:0;background:transparent;min-width:32px;height:32px;padding:5px;border-radius:8px}#logout:hover,#enableNotifications:hover{background:#ffffff1d}
header{height:92px;padding:17px 35px;border-bottom:1px solid var(--line)}.overline{color:#7b9587;letter-spacing:1.8px;font-size:10px}h2{font-size:25px;letter-spacing:-.7px}
.status{background:#f0f7ef;padding:9px 12px;border-radius:20px;color:#37684e;font-size:12px}.status-dot.online{background:#55a672}
.main{background:var(--canvas)}.content-view{padding:32px clamp(18px,4.5vw,64px);gap:20px}.panel{border-radius:18px;box-shadow:0 5px 22px #173b2b08;max-width:100%;border-color:var(--line)}.panel h3{letter-spacing:-.4px}
.primary,.send{background:#21523d}.primary:hover,.send:hover{background:#133e2c}.primary{min-height:46px}
.login{background:radial-gradient(circle at 78% 18%,#486c46 0%,transparent 32%),linear-gradient(135deg,#102b23,#204d37)}.login-box{border-radius:24px;box-shadow:0 30px 100px #0a211a55}
.messages{background:radial-gradient(circle at 92% 12%,#e9efe7 0%,transparent 32%),var(--canvas)}.msg{border-radius:16px;box-shadow:0 4px 15px #233d3008}.composer{box-shadow:0 -4px 20px #1b423509}
.dashboard-view{display:block;padding-top:34px;max-width:1400px;width:100%;margin:0 auto}
.welcome-hero{position:relative;isolation:isolate;overflow:hidden;min-height:218px;border-radius:23px;color:#f4fff3;padding:35px clamp(25px,4vw,48px);background:linear-gradient(115deg,#173e30,#2e6047 70%,#386c50);display:flex;flex-direction:column;justify-content:center;box-shadow:0 18px 45px #1638291a}
.hero-detail{font-size:10px;font-weight:800;letter-spacing:2.3px;color:#c9e9ad;margin-bottom:17px}.welcome-hero h3{font-size:clamp(24px,3vw,35px);margin:0 0 12px;max-width:660px;font-weight:770;letter-spacing:-.9px;z-index:1}.welcome-hero p{max-width:540px;color:#d9e9dc;font-size:14px;line-height:1.6;margin:0;z-index:1}
.hero-pattern{pointer-events:none;position:absolute;right:45px;bottom:-70px;width:300px;height:275px;opacity:.16;transform:rotate(-18deg)}.hero-pattern span{position:absolute;border:4px solid #d9f3bc;border-radius:14px;transform:skew(-7deg)}.hero-pattern span:nth-child(1){inset:5px 105px 0 4px}.hero-pattern span:nth-child(2){inset:28px 55px 25px 54px}.hero-pattern span:nth-child(3){inset:51px 5px 50px 104px}
.quick-section{margin-top:35px;width:100%}.section-heading small{font-size:10px;color:#73907d;letter-spacing:1.7px;font-weight:800}.section-heading h3{margin:6px 0 20px;font-size:23px;letter-spacing:-.5px}
.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.quick-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;background:#fff;border:1px solid var(--line);border-radius:18px;min-height:192px;padding:23px 24px;box-shadow:0 5px 18px #133a2209}.quick-card:hover{border-color:#a9c6ac;transform:translateY(-2px);box-shadow:0 12px 30px #133a2215}
.quick-icon{width:44px;height:44px;border-radius:13px;background:#edf5e9;color:#31684b;display:grid;place-items:center;margin-bottom:14px}.quick-icon svg{width:24px;height:24px}.quick-card strong{font-size:17px;margin-bottom:6px}.quick-card>span:not(.quick-icon):not(.quick-arrow){font-size:13px;color:var(--muted);line-height:1.4}.quick-arrow{color:#32714f;font-size:12px;font-weight:760;margin-top:auto;padding-top:14px}
.dashboard-footnote{font-size:12px;color:#70857a;border:1px solid #e3eae4;border-radius:12px;padding:14px 18px;background:#fff;margin-top:22px;line-height:1.6}
.module-placeholder{width:min(100%,680px);padding:42px}.module-big-icon{display:inline-grid;place-items:center;color:#2d724e;background:#edf4eb;border-radius:18px;width:70px;height:70px;margin-bottom:16px}.module-big-icon svg{width:34px;height:34px}.eyebrow{font-size:10px;letter-spacing:1.6px;color:#6a8c73;font-weight:800}.module-placeholder h3{font-size:27px}.secondary-button{border:1px solid #b5c9bc;color:#285640;background:#f6fbf6;border-radius:11px;padding:12px 18px;font-weight:700}.secondary-button:hover{background:#eaf4e9}
.participant-choices{display:grid;gap:8px;margin:12px 0 18px}.participant-choices label{display:flex;flex-direction:row;align-items:center;gap:12px;border:1px solid #e3ebe5;background:#f8faf8;border-radius:11px;padding:11px 13px;cursor:pointer;font-size:13px;line-height:1.35}.participant-choices label:hover{background:#edf5ed;border-color:#b9d1bc}.participant-choices input[type=checkbox]{width:19px;height:19px;flex:none;accent-color:#23583c;margin:0;cursor:pointer}.participant-choices label:has(input:disabled){opacity:.8;cursor:default}
@media(max-width:700px){.sidebar{width:280px}.brand{padding-bottom:17px}header{height:76px;padding:12px 16px}.content-view{padding:19px}.dashboard-view{padding-top:17px}.welcome-hero{padding:26px 23px;min-height:205px;border-radius:18px}.hero-pattern{right:-120px}.quick-section{margin-top:26px}.quick-grid{grid-template-columns:1fr;gap:11px}.quick-card{min-height:140px;padding:18px 20px}.quick-icon{width:37px;height:37px;margin-bottom:9px}.quick-card strong{font-size:16px}.module-placeholder{padding:25px}.status{padding:7px}.panel{padding:22px}}
@media(prefers-reduced-motion:reduce){button,.sidebar{transition:none!important}}

/* Launch profile: a small reliable messenger, with legacy modules preserved offline. */
body.messenger-only #workNav, body.messenger-only #reportNav,
body.messenger-only #productionNav, body.messenger-only #salesNav,
body.messenger-only #logisticsNav, body.messenger-only #summaryNav,
body.messenger-only #quickWork, body.messenger-only #quickProduction,
body.messenger-only .dashboard-footnote, body.messenger-only #quickPeople,
body.messenger-only #adminView>.panel:not(:nth-child(3)),
body.messenger-only .section-label.admin-only {display:none!important}
body.messenger-only .quick-grid{grid-template-columns:minmax(0,440px)}
@media(max-width:650px){body.messenger-only .quick-grid{grid-template-columns:minmax(0,1fr)}}
