:root{
  --heli:#ed1c24; --heli-dark:#c9151e; --ink:#17191d; --text:#262a30; --muted:#727983;
  --bg:#f6f7f9; --card:#ffffff; --line:#e7e9ed; --soft:#f1f3f5;
  --green:#18864b; --amber:#b87500; --blue:#2563eb; --radius:14px;
}
*{box-sizing:border-box}
html,body{margin:0;font-family:Inter,Arial,"Noto Sans Thai","Noto Sans SC",sans-serif;background:var(--bg);color:var(--text)}
body{min-height:100vh} a{text-decoration:none;color:inherit} button,input,select,textarea{font:inherit}
.shell{display:flex;min-height:100vh}
.sidebar{position:fixed;inset:0 auto 0 0;width:258px;background:#111317;color:#fff;padding:18px 14px;overflow:auto;z-index:30}
.side-logo{display:flex;align-items:center;padding:8px 8px 22px}
.side-logo img{width:166px;height:auto;display:block;filter:brightness(0) invert(1)}
.side-sub{font-size:11px;color:#878e99;margin:-12px 9px 18px;letter-spacing:.08em;text-transform:uppercase}
.nav-group{margin:18px 10px 7px;font-size:10px;letter-spacing:.1em;color:#686f78;text-transform:uppercase;font-weight:800}
.nav-item{display:flex;align-items:center;gap:0;padding:10px 12px;border-radius:10px;color:#cfd4db;margin:3px 0;font-size:14px;transition:.15s}
.nav-item:hover{background:#20242a;color:#fff}.nav-item.active{background:#fff;color:#111317;font-weight:700}
.nav-icon{width:18px;text-align:center;opacity:.9}
.main{margin-left:258px;width:calc(100% - 258px)}
.topbar{height:70px;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:20}
.top-left{display:flex;align-items:center;gap:14px}.top-title{font-size:13px;color:var(--muted)}
.top-actions{display:flex;align-items:center;gap:10px}
.lang-switch{display:flex;background:var(--soft);padding:3px;border-radius:9px}
.lang-switch a{font-size:11px;padding:5px 8px;border-radius:7px;color:#616873}.lang-switch a.active{background:#fff;color:#111;font-weight:800;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.avatar{width:34px;height:34px;border-radius:50%;background:var(--heli);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800}
.user-meta{line-height:1.15}.user-meta b{font-size:13px}.user-meta small{display:block;font-size:11px;color:var(--muted)}
.icon-btn{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 10px;color:#555}
.content{padding:30px;max-width:1560px;margin:auto}
.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}
.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--heli);font-weight:800;margin-bottom:7px}
.page-head h1{margin:0;font-size:30px;letter-spacing:-.03em;color:var(--ink)}
.page-head p{margin:7px 0 0;color:var(--muted);font-size:14px}
.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.btn{border:0;border-radius:10px;padding:10px 14px;background:#eceff2;color:#25292e;cursor:pointer;font-weight:700;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:7px}
.btn:hover{filter:brightness(.98)}.btn.primary{background:var(--heli);color:#fff}.btn.outline{background:#fff;border:1px solid var(--line)}.btn.ghost{background:transparent}.btn.danger{background:#fff0f1;color:#b5121a}
.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:17px 18px;position:relative;overflow:hidden}
.kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#cfd3d8}.kpi.critical:before{background:var(--heli)}.kpi.warn:before{background:var(--amber)}.kpi.good:before{background:var(--green)}.kpi.blue:before{background:var(--blue)}
.kpi-label{font-size:12px;color:var(--muted);font-weight:700}.kpi-value{font-size:30px;line-height:1;margin-top:11px;font-weight:800;letter-spacing:-.04em}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.section-head{display:flex;justify-content:space-between;align-items:center;margin:25px 0 12px}.section-head h2{font-size:16px;margin:0}.section-head small{color:var(--muted)}
.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}
table{border-collapse:collapse;width:100%;min-width:840px}th,td{padding:13px 15px;border-bottom:1px solid var(--line);text-align:left;font-size:13px;vertical-align:middle}
th{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#737b85;background:#fafbfc;font-weight:800}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfbfc}
.work-title{font-weight:750;color:#16191d}.sub{font-size:11px;color:var(--muted);margin-top:3px}
.badge{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:99px;background:#eef1f4;font-size:11px;font-weight:700}
.badge.critical{background:#ffe5e7;color:#a90f16}.badge.high{background:#fff0d7;color:#8d5a00}.badge.completed{background:#e4f6eb;color:#14683a}.badge.waiting{background:#fff5da;color:#7b5900}.badge.review{background:#eaf0ff;color:#315bb8}
.dot{width:7px;height:7px;border-radius:50%;background:#bbc1c8;display:inline-block}.dot.red{background:var(--heli)}.dot.green{background:var(--green)}.dot.amber{background:var(--amber)}
.two-col{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:18px}.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}
.field label,.label{font-size:12px;color:#4e555e;font-weight:750}.field input,.field select,.field textarea{width:100%;border:1px solid #dadddf;border-radius:10px;padding:11px 12px;background:#fff;color:#1d2024;outline:none}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#a9afb7;box-shadow:0 0 0 3px rgba(30,35,40,.05)}.field textarea{min-height:105px;resize:vertical}
.helper{font-size:11px;color:var(--muted)}.divider{height:1px;background:var(--line);margin:18px 0}
details.more{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}details.more summary{cursor:pointer;font-size:12px;font-weight:800;color:#505761}
.tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:15px}.tabs a{padding:8px 11px;background:#fff;border:1px solid var(--line);border-radius:9px;font-size:12px;font-weight:700}.tabs a.active{background:#1b1e22;color:#fff;border-color:#1b1e22}
.asset-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.asset-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:15px}
.asset-thumb{height:120px;background:linear-gradient(145deg,#f5f6f7,#e9ebee);border-radius:9px;display:grid;place-items:center;margin-bottom:13px;color:#9da4ad;font-weight:800}
.chips{display:flex;gap:5px;flex-wrap:wrap}.chip{font-size:10px;background:#f0f2f4;padding:4px 7px;border-radius:99px;color:#606873}
.alert{padding:12px 14px;border-radius:10px;margin-bottom:14px;background:#edf2f7;font-size:13px}.alert.success{background:#e6f6ec;color:#176b3d}.alert.error{background:#ffe7e8;color:#94151b}
.empty{padding:36px;text-align:center;color:var(--muted)}.empty b{display:block;color:#31363c;margin-bottom:6px}
.login-page{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:#fff}.login-brand{background:#111317;display:flex;align-items:center;justify-content:center;padding:50px}.login-brand-inner{max-width:500px}.login-brand img{width:min(390px,80%);filter:brightness(0) invert(1)}.login-brand h2{color:#fff;font-size:36px;letter-spacing:-.03em;margin:30px 0 8px}.login-brand p{color:#959da7;line-height:1.7}.login-form-wrap{display:grid;place-items:center;padding:35px}.login-card{width:min(410px,100%)}.login-card h1{font-size:26px;margin:0}.login-card p{color:var(--muted);margin:7px 0 26px}.login-card .field{margin-bottom:13px}
.requester-row{display:grid;grid-template-columns:1fr auto;gap:8px}.mini-note{font-size:11px;color:var(--muted);margin-top:6px}
.complete-card{max-width:760px;margin:auto}.success-mark{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#e7f7ed;color:var(--green);font-size:22px;font-weight:900;margin-bottom:15px}
.public-page{min-height:100vh;background:#f4f5f7;padding:50px 20px}.public-card{max-width:760px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px}.public-logo{width:230px;height:auto;margin-bottom:24px}
.mobile-menu{display:none}
@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.asset-grid{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.three-col{grid-template-columns:1fr}}
@media(max-width:820px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none}.main{margin-left:0;width:100%}.mobile-menu{display:inline-flex}.content{padding:20px}.form-grid,.kpi-grid,.asset-grid{grid-template-columns:1fr}.topbar{padding:0 16px}.user-meta{display:none}.login-page{grid-template-columns:1fr}.login-brand{display:none}}

/* v1.2 — simplified navigation and work views */
.nav-icon{display:none!important}
.nav-item{padding-left:14px}
.view-switch{display:inline-flex;background:#eceff2;border-radius:10px;padding:3px;gap:2px}
.view-switch a{padding:7px 11px;border-radius:8px;font-size:12px;font-weight:750;color:#656d76}
.view-switch a.active{background:#fff;color:#16191d;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.dashboard-tabs{display:flex;gap:7px;margin:0 0 18px;flex-wrap:wrap}
.dashboard-tabs a{padding:9px 14px;border:1px solid var(--line);background:#fff;border-radius:10px;font-size:12px;font-weight:800}
.dashboard-tabs a.active{background:#17191d;color:#fff;border-color:#17191d}
.filter-row{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:12px 0 16px}
.filter-row a,.filter-row button{padding:7px 10px;border-radius:9px;background:#fff;border:1px solid var(--line);font-size:11px;font-weight:750;color:#5b626b}
.filter-row a.active{background:#1b1e22;color:#fff;border-color:#1b1e22}
.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.work-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;min-height:170px;display:flex;flex-direction:column}
.work-card .work-card-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.work-card .work-card-title{font-size:15px;font-weight:800;line-height:1.35;margin:2px 0 8px}
.work-card .work-card-meta{font-size:11px;color:var(--muted);line-height:1.6}
.work-card .work-card-footer{margin-top:auto;padding-top:14px;display:flex;justify-content:space-between;align-items:center}
.calendar-shell{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.calendar-head{display:grid;grid-template-columns:repeat(7,1fr);background:#fafbfc;border-bottom:1px solid var(--line)}
.calendar-head div{padding:10px;text-align:center;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#777f89;font-weight:800}
.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}
.calendar-day{min-height:128px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px;background:#fff}
.calendar-day:nth-child(7n){border-right:0}
.calendar-day.muted{background:#fafbfc;color:#a4aab1}
.calendar-date{font-size:11px;font-weight:800;margin-bottom:6px}
.calendar-item{display:block;padding:6px 7px;border-radius:7px;background:#f1f3f5;font-size:10px;line-height:1.25;margin:4px 0}
.calendar-item.urgent{background:#ffe8ea;color:#9f1219}
.insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.insight-list{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px}
.insight-list h3{font-size:13px;margin:0 0 12px}
.insight-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:7px 0}
.insight-label{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.insight-value{font-size:11px;font-weight:800}
.insight-bar{height:4px;background:#eceff1;border-radius:99px;overflow:hidden;margin-top:4px}
.insight-bar span{display:block;height:100%;background:#9097a0;border-radius:99px}
.contributor-builder{margin-top:14px;border:1px solid var(--line);border-radius:12px;padding:14px;background:#fafbfc}
.contributor-row{display:grid;grid-template-columns:minmax(160px,.7fr) minmax(220px,1.3fr) auto;gap:8px;align-items:end;margin-top:9px}
.iconless-remove{border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px 12px;cursor:pointer;color:#7b2024}
.settings-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.settings-tabs a{padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:12px;font-weight:750}
.settings-tabs a.active{background:#17191d;color:#fff;border-color:#17191d}
.simple-list{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden}
.simple-list-row{display:grid;grid-template-columns:1.2fr 1fr .8fr auto;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line);align-items:center;font-size:12px}
.simple-list-row:last-child{border-bottom:0}
@media(max-width:1100px){.cards-grid,.insight-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){
  .cards-grid,.insight-grid{grid-template-columns:1fr}
  .calendar-day{min-height:95px;padding:5px}.calendar-item{font-size:9px}
  .contributor-row{grid-template-columns:1fr}
}

/* v1.3 — HELI Lounge, profile photos, cleaner filters, red brand logo */
.side-logo img{
  filter:brightness(0) saturate(100%) invert(18%) sepia(99%) saturate(4954%) hue-rotate(350deg) brightness(98%) contrast(92%)!important;
}
.login-page{grid-template-columns:1.05fr .95fr;background:#111317}
.login-brand{background:#fff;color:#17191d}
.login-brand img{
  filter:brightness(0) saturate(100%) invert(18%) sepia(99%) saturate(4954%) hue-rotate(350deg) brightness(98%) contrast(92%)!important;
}
.login-brand h2{color:#17191d}
.login-brand p{color:#6f7680}
.login-form-wrap{background:#111317}
.login-card h1{color:#fff}
.login-card p{color:#9da4ad}
.login-card .field label{color:#d9dde2}
.login-card .field input{background:#1c2025;border-color:#343a42;color:#fff}
.login-card .field input:focus{border-color:#6e7782;box-shadow:0 0 0 3px rgba(255,255,255,.05)}

.avatar-photo,.avatar{
  width:34px;height:34px;border-radius:50%;object-fit:cover;display:grid;place-items:center;
}
.avatar-photo{background:#eceff2;border:1px solid var(--line)}
.person-cell{display:flex;align-items:center;gap:9px;min-width:0}
.person-cell img{width:30px;height:30px;border-radius:50%;object-fit:cover;flex:0 0 auto}
.person-fallback{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#eceff2;font-size:10px;font-weight:800;flex:0 0 auto}

.compact-period{display:inline-flex;background:#eceff2;padding:3px;border-radius:10px;gap:2px}
.compact-period a{min-width:38px;text-align:center;padding:7px 9px;border-radius:8px;font-size:11px;font-weight:800;color:#5f6670}
.compact-period a.active{background:#17191d;color:#fff}

.filter-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 16px}
.filter-summary{display:flex;gap:6px;flex-wrap:wrap;min-width:0}
.filter-chip{font-size:11px;padding:6px 9px;border-radius:99px;background:#eceff2;color:#555d66;font-weight:750}
.filter-drawer{position:relative}
.filter-drawer summary{list-style:none;cursor:pointer}
.filter-drawer summary::-webkit-details-marker{display:none}
.filter-panel{
  position:absolute;z-index:15;top:calc(100% + 7px);right:0;width:320px;background:#fff;border:1px solid var(--line);
  border-radius:12px;padding:14px;box-shadow:0 12px 30px rgba(0,0,0,.12)
}
.filter-group{margin-bottom:13px}.filter-group:last-child{margin-bottom:0}
.filter-group-title{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#737b85;font-weight:800;margin-bottom:7px}
.filter-options{display:flex;gap:6px;flex-wrap:wrap}
.filter-options a{padding:7px 9px;border-radius:8px;border:1px solid var(--line);font-size:11px;font-weight:750}
.filter-options a.active{background:#17191d;color:#fff;border-color:#17191d}

.lounge-cover{position:relative;border-radius:18px;overflow:hidden;min-height:250px;background:#20242a;margin-bottom:18px}
.lounge-cover img{width:100%;height:290px;object-fit:cover;display:block}
.lounge-cover-fallback{height:290px;background:linear-gradient(135deg,#20242a,#353b43);display:flex;align-items:flex-end;padding:28px;color:#fff}
.lounge-cover-overlay{position:absolute;inset:auto 0 0 0;padding:28px;background:linear-gradient(transparent,rgba(0,0,0,.76));color:#fff}
.lounge-cover-overlay h1{margin:0 0 6px;font-size:32px}
.lounge-cover-overlay p{margin:0;color:#d2d6db}
.lounge-cover-actions{position:absolute;top:14px;right:14px}
.lounge-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(270px,.5fr);gap:18px}
.chat-panel{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.chat-feed{padding:15px;display:flex;flex-direction:column;gap:12px;max-height:620px;overflow:auto}
.chat-message{display:flex;gap:10px;align-items:flex-start}
.chat-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;flex:0 0 auto;background:#eceff2}
.chat-fallback{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#eceff2;font-size:11px;font-weight:800;flex:0 0 auto}
.chat-bubble{background:#f1f3f5;border-radius:4px 14px 14px 14px;padding:10px 12px;max-width:min(680px,85%);min-width:0}
.chat-name{font-size:11px;font-weight:850;margin-bottom:3px}
.chat-time{font-size:9px;color:#8b929b;margin-left:5px;font-weight:500}
.chat-text{font-size:13px;line-height:1.5;white-space:pre-wrap;word-break:break-word}
.chat-image{display:block;max-width:100%;max-height:360px;border-radius:10px;margin-top:8px;object-fit:cover}
.chat-compose{border-top:1px solid var(--line);padding:12px;display:grid;grid-template-columns:1fr auto;gap:8px;background:#fafbfc}
.chat-compose textarea{min-height:46px;max-height:130px;border:1px solid #dadddf;border-radius:11px;padding:11px;resize:vertical}
.lounge-side-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px;margin-bottom:14px}
.lounge-side-card h3{font-size:13px;margin:0 0 10px}
.latest-lounge{display:flex;flex-direction:column;gap:10px}
.latest-lounge-item{display:flex;gap:8px;padding:9px 0;border-bottom:1px solid var(--line)}
.latest-lounge-item:last-child{border-bottom:0}
.latest-lounge-item img,.latest-lounge-item .person-fallback{width:28px;height:28px}
.latest-lounge-text{font-size:11px;line-height:1.35;color:#4f5660;overflow:hidden}
.profile-photo-large{width:112px;height:112px;border-radius:50%;object-fit:cover;background:#eceff2;border:1px solid var(--line)}
.profile-upload-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap}

@media(max-width:900px){
  .lounge-grid{grid-template-columns:1fr}
  .filter-panel{left:0;right:auto;width:min(320px,calc(100vw - 48px))}
}

/* v1.3.2 — brand split-color logo, filter overlap fix, larger Lounge chat */

/* Login: official red HELI + black SOUTHEAST ASIA on white */
.login-brand img{
  filter:none!important;
}

/* Internal sidebar: red HELI + white SOUTHEAST ASIA */
.side-logo{padding:8px 8px 22px}
.side-logo-stack{
  position:relative;display:block;width:166px;aspect-ratio:2000/562;overflow:hidden;
}
.side-logo-stack img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;
}
.side-logo-heli{
  filter:none!important;
  clip-path:inset(0 0 36% 0);
}
.side-logo-sea{
  filter:brightness(0) invert(1)!important;
  clip-path:inset(64% 0 0 0);
}

/* Filters always open into the content area, never underneath the sidebar */
.filter-panel{
  left:0!important;
  right:auto!important;
}
@media(max-width:900px){
  .filter-drawer{width:100%}
  .filter-panel{
    position:static!important;
    width:100%!important;
    margin-top:8px;
    box-shadow:none;
  }
}

/* HELI Lounge: chat is the main focus */
.lounge-grid{
  grid-template-columns:minmax(0,1fr) 230px;
  gap:18px;
}
.chat-panel{min-width:0}
.chat-feed{
  min-height:580px;
  max-height:720px;
  padding:20px;
  gap:14px;
  scroll-behavior:smooth;
}
.chat-bubble{
  max-width:min(820px,92%);
  padding:11px 14px;
}
.chat-text{
  font-size:14px;
  line-height:1.6;
}
.chat-compose{
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  padding:14px;
  align-items:end;
}
.chat-compose > div{min-width:0}
.chat-compose textarea{
  width:100%;
  min-height:68px;
  max-height:180px;
  font-size:14px;
  line-height:1.5;
}
.chat-compose-meta{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:8px;
}
.chat-compose .btn{
  min-width:84px;
  min-height:46px;
}
@media(max-width:1050px){
  .lounge-grid{grid-template-columns:1fr}
  .chat-feed{min-height:520px;max-height:680px}
}
@media(max-width:620px){
  .chat-feed{min-height:420px;max-height:600px;padding:13px}
  .chat-compose{grid-template-columns:1fr}
  .chat-compose .btn{width:100%}
  .chat-bubble{max-width:90%}
}

/* v1.3.3 — unified Work page + Lounge viewport refinements */

/* Correct internal logo artwork: red HELI + white SOUTHEAST ASIA */
.side-logo img{
  width:166px;
  height:auto;
  display:block;
  filter:none!important;
}
.side-logo-stack{display:none!important}

/* Larger Work filter panel, but keep it out of the sidebar */
.work-filter-form{
  width:min(680px,calc(100vw - 320px));
  max-width:680px;
}
.filter-drawer .work-filter-form{
  left:0!important;
  right:auto!important;
}
@media(max-width:900px){
  .work-filter-form{
    width:100%!important;
    max-width:none;
  }
}

/* Lounge: composer remains visible without scrolling the whole page */
.lounge-cover{
  min-height:150px;
  height:170px;
  margin-bottom:14px;
}
.lounge-cover img,
.lounge-cover-fallback{
  height:170px;
}
.lounge-cover-overlay{padding:20px 24px}
.lounge-cover-overlay h1{font-size:28px}

.lounge-grid{
  grid-template-columns:minmax(0,1fr) 230px;
  gap:16px;
  align-items:start;
}
.chat-panel{
  display:flex;
  flex-direction:column;
  height:calc(100vh - 335px);
  min-height:500px;
  max-height:760px;
  overflow:hidden;
}
.chat-feed{
  flex:1 1 auto;
  min-height:0!important;
  max-height:none!important;
  overflow-y:auto;
  padding:18px 20px;
}
.chat-compose{
  flex:0 0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) 92px;
  grid-template-areas:
    "message send"
    "meta meta";
  gap:8px 10px;
  padding:12px 14px;
  align-items:stretch;
}
.chat-compose textarea{
  grid-area:message;
  width:100%;
  min-height:70px;
  height:70px;
  max-height:140px;
  resize:vertical;
}
.chat-send-btn{
  grid-area:send;
  height:70px;
  min-height:70px!important;
  align-self:stretch!important;
}
.chat-compose-meta{
  grid-area:meta;
  margin-top:0!important;
}
@media(max-width:1050px){
  .lounge-grid{grid-template-columns:1fr}
  .chat-panel{
    height:calc(100vh - 330px);
    min-height:480px;
    max-height:720px;
  }
}
@media(max-width:620px){
  .lounge-cover,.lounge-cover img,.lounge-cover-fallback{height:130px;min-height:130px}
  .chat-panel{height:auto;min-height:480px;max-height:none}
  .chat-feed{height:390px;flex:none}
  .chat-compose{
    grid-template-columns:minmax(0,1fr) 78px;
  }
  .chat-send-btn{width:auto!important}
}

/* Keep the unified Work scope visually primary */
.work-scope-tabs{margin-bottom:14px}

/* v1.3.4 — unified workflow, Kanban, Drive uploads, Lounge presence */

.channel-grid{display:flex;gap:8px;flex-wrap:wrap}
.channel-option{position:relative}
.channel-option input{position:absolute;opacity:0;pointer-events:none}
.channel-option span{display:inline-flex;align-items:center;min-height:36px;padding:7px 11px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:12px;font-weight:700;cursor:pointer}
.channel-option input:checked+span{background:#17191d;color:#fff;border-color:#17191d}

.upload-choice{background:#fafbfc;border:1px dashed #ccd1d6;border-radius:12px;padding:14px}

.kanban-board{display:grid;grid-template-columns:repeat(5,minmax(230px,1fr));gap:12px;overflow-x:auto;padding-bottom:8px}
.kanban-column{background:#eef1f4;border:1px solid var(--line);border-radius:14px;min-width:230px;display:flex;flex-direction:column;max-height:690px}
.kanban-column-head{display:flex;justify-content:space-between;align-items:center;padding:12px 13px;border-bottom:1px solid #d9dde1;font-size:12px}
.kanban-column-head span{min-width:24px;height:24px;border-radius:99px;background:#fff;display:grid;place-items:center;font-size:10px;font-weight:800}
.kanban-dropzone{padding:10px;min-height:180px;overflow-y:auto;flex:1}
.kanban-dropzone.drag-over{background:#e3e7eb}
.kanban-card{background:#fff;border:1px solid #d9dde1;border-radius:11px;padding:11px;margin-bottom:9px;cursor:grab}
.kanban-card.dragging{opacity:.45}
.kanban-title{font-size:13px;font-weight:800;line-height:1.35;display:block;margin-bottom:7px}
.kanban-meta{font-size:10px;color:var(--muted);line-height:1.5}
.kanban-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px}
.kanban-status-select{width:100%;margin-top:9px;font-size:11px;padding:7px 8px;border-radius:8px;border:1px solid var(--line);background:#fafbfc}

.cover-dialog{border:0;padding:0;background:transparent;max-width:min(720px,calc(100vw - 32px));width:100%}
.cover-dialog::backdrop{background:rgba(0,0,0,.48)}
.cover-dialog-card{background:#fff;border-radius:16px;padding:18px}
.cover-dialog-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.cover-dialog-head h3{margin:0 0 6px}
.cover-dialog-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}
.cover-preview{height:210px;border-radius:12px;background:#f0f2f4;border:1px solid var(--line);overflow:hidden;display:grid;place-items:center;color:#8a919a;margin:16px 0}
.cover-preview img{width:100%;height:100%;object-fit:cover}

.team-presence-list{display:flex;flex-direction:column}
.presence-row{display:grid;grid-template-columns:34px minmax(0,1fr) 12px;gap:9px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}
.presence-row:last-child{border-bottom:0}
.presence-row img,.presence-row .person-fallback{width:34px;height:34px;border-radius:50%;object-fit:cover}
.presence-person{min-width:0}.presence-person b{display:block;font-size:11px}.presence-person .sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.presence-dot{width:9px;height:9px;border-radius:50%;background:#a7adb4}
.presence-dot.online{background:#2ca96b}
.presence-dot.working{background:#2f6ee5}
.presence-dot.away{background:#d69a22}
.presence-dot.offline{background:#a7adb4}

@media(max-width:900px){
  .kanban-board{grid-template-columns:repeat(5,240px)}
  .cover-preview{height:160px}
}

/* v1.3.5 — Asset modal, real thumbnails, unified access levels */
.app-dialog{
  border:0;padding:0;background:transparent;width:min(760px,calc(100vw - 28px));max-width:none;
}
.app-dialog::backdrop,.preview-dialog::backdrop{background:rgba(10,12,15,.48)}
.app-dialog-card{
  background:#fff;border-radius:17px;padding:20px;max-height:min(820px,calc(100vh - 36px));overflow:auto;
  box-shadow:0 24px 70px rgba(0,0,0,.22);
}
.compact-dialog{width:min(620px,100%);margin:auto}
.dialog-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:16px}
.dialog-head h2,.dialog-head h3{margin:0 0 5px}
.dialog-head p{margin:0;color:var(--muted);font-size:12px}

.source-tabs{display:inline-flex;background:#eceff2;border-radius:10px;padding:3px;margin:16px 0 12px}
.source-tab{border:0;background:transparent;border-radius:8px;padding:8px 12px;font-weight:800;font-size:11px;cursor:pointer}
.source-tab.active{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.source-panel{display:none}.source-panel.active{display:block}

.asset-preview-button{display:block;width:100%;padding:0;border:0;background:transparent;cursor:pointer;margin-bottom:12px}
.asset-thumb-image{width:100%;height:150px;display:block;object-fit:cover;border-radius:11px;background:#eef0f2;border:1px solid var(--line)}
.file-tile{height:150px!important;display:grid!important;place-items:center!important;border-radius:11px!important}
.file-mark{font-size:17px;font-weight:900;letter-spacing:.07em;color:#87909b}

.preview-dialog{border:0;padding:0;background:transparent;width:min(980px,calc(100vw - 28px));max-width:none}
.preview-dialog-card{background:#fff;border-radius:16px;padding:14px;box-shadow:0 24px 70px rgba(0,0,0,.25)}
.preview-dialog-card img{display:block;width:100%;max-height:78vh;object-fit:contain;border-radius:10px;background:#f3f4f6}

.access-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.access-card{position:relative}
.access-card input{position:absolute;opacity:0;pointer-events:none}
.access-card span{display:block;border:1px solid var(--line);border-radius:11px;padding:12px;background:#fff;cursor:pointer;min-height:68px}
.access-card b{display:block;font-size:12px;margin-bottom:4px}
.access-card small{display:block;color:var(--muted);font-size:10px;line-height:1.4}
.access-card input:checked+span{border-color:#17191d;box-shadow:0 0 0 2px #17191d inset;background:#fafafa}
.public-options{margin-top:4px}

@media(max-width:620px){
  .access-options{grid-template-columns:1fr}
  .asset-thumb-image,.file-tile{height:135px!important}
}

/* v1.3.6 — requester management + reliable share result */
.requester-list-row{
  grid-template-columns:minmax(190px,1.4fr) minmax(120px,.8fr) 90px auto!important;
  align-items:center;
}
.requester-actions{display:flex;justify-content:flex-end;align-items:center;gap:6px}
.requester-actions form{margin:0}
.requester-delete-btn{color:#b42318;background:#fff1f0;border:1px solid #ffd0cc}
.requester-similar-warning{margin-top:10px;padding:9px 11px;border-radius:9px;background:#fff5dd;color:#805b00;font-size:11px}

.share-link-result{margin-top:14px;padding:12px;background:#f6f8fa;border:1px solid var(--line);border-radius:11px}
.share-link-result>label{display:block;font-size:10px;font-weight:800;margin-bottom:7px;color:#5d6570}
.share-link-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px}
.share-link-row input{min-width:0}

@media(max-width:760px){
  .requester-list-row{grid-template-columns:1fr!important;gap:7px}
  .requester-actions{justify-content:flex-start}
  .share-link-row{grid-template-columns:1fr}
}

/* v1.3.7 — simple one-click visibility */
.simple-access-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.access-choice{
  appearance:none;
  border:1px solid var(--line);
  background:#fff;
  border-radius:12px;
  min-height:76px;
  padding:13px;
  text-align:left;
  cursor:pointer;
  transition:.15s ease;
}
.access-choice:hover{border-color:#9da4ad;background:#fafafa}
.access-choice.active{
  border-color:#17191d;
  box-shadow:0 0 0 2px #17191d inset;
  background:#f8f8f8;
}
.access-choice b{display:block;font-size:12px;margin-bottom:5px}
.access-choice small{display:block;color:var(--muted);font-size:10px;line-height:1.45}
.access-choice:disabled{opacity:.55;cursor:wait}
@media(max-width:620px){.simple-access-options{grid-template-columns:1fr}}

/* v1.4.0 — HELI Lounge playful gimmicks */
.lounge-fun-strip{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(260px,1fr) minmax(360px,1.5fr);gap:12px;margin:14px 0}
.fun-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px}
.fun-title{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}
.mood-picker{display:flex;flex-wrap:wrap;gap:6px}
.mood-btn{width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:20px;cursor:pointer}
.mood-btn:hover,.mood-btn.active{background:#f4f5f7;border-color:#1c2025;box-shadow:0 0 0 1px #1c2025 inset}
.mascot-card{display:flex;align-items:center;gap:11px}
.mascot-icon{font-size:38px;filter:drop-shadow(0 3px 4px rgba(0,0,0,.12));animation:mascotFloat 3.2s ease-in-out infinite}
.mascot-text{font-size:12px;line-height:1.55;color:#545c66}
@keyframes mascotFloat{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-4px) rotate(2deg)}}
.daily-question{font-size:13px;font-weight:800;margin-bottom:9px}
.daily-answer-form{display:grid;grid-template-columns:1fr auto;gap:7px}
.daily-answer-form input{min-width:0;border:1px solid var(--line);border-radius:9px;padding:8px 10px}
.daily-answer-list{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}
.daily-answer-list span{font-size:10px;background:#f4f6f8;padding:5px 8px;border-radius:999px}
.chat-mood{margin-left:5px;font-size:14px}
.reaction-bar{display:flex;gap:4px;margin-top:8px;flex-wrap:wrap}
.reaction-btn{border:1px solid transparent;background:transparent;border-radius:999px;padding:3px 6px;font-size:13px;cursor:pointer}
.reaction-btn:hover{background:#fff;border-color:#dfe3e7}.reaction-btn span{font-size:9px;font-weight:800;margin-left:2px}
.reaction-btn.pop{animation:reactionPop .25s ease}
@keyframes reactionPop{50%{transform:scale(1.32)}}
.attach-btn{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:8px;padding:6px 9px;font-size:11px;font-weight:800;background:#fff;cursor:pointer}
.attach-btn input{display:none}
.photo-day-card{margin-top:12px}
.photo-day-image{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;margin:7px 0}
.photo-day-card p{font-size:11px;line-height:1.45;margin:6px 0}
.photo-day-empty{height:115px;border:1px dashed #d7dce1;border-radius:10px;display:grid;place-items:center;color:#8b929a;font-size:11px;margin:8px 0}
.photo-day-form{display:flex;flex-direction:column;gap:7px}
.photo-day-form input[type=file]{font-size:10px}
.photo-day-form input[type=text],.photo-day-form input:not([type]){border:1px solid var(--line);border-radius:8px;padding:7px 8px}
@media(max-width:1100px){.lounge-fun-strip{grid-template-columns:1fr 1fr}.question-card{grid-column:1/-1}}
@media(max-width:720px){.lounge-fun-strip{grid-template-columns:1fr}.question-card{grid-column:auto}.daily-answer-form{grid-template-columns:1fr}}

/* v1.4.1 — realtime Lounge, hover reactions, shared daily photo */
.reaction-summary{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px;min-height:0}
.reaction-count{border:1px solid #dfe3e7;background:#fff;border-radius:999px;padding:3px 7px;font-size:11px;cursor:pointer}
.reaction-count span{font-size:9px;font-weight:900;margin-left:2px}
.reaction-picker{
  position:absolute;
  left:8px;
  bottom:-17px;
  display:flex;
  gap:2px;
  padding:4px;
  border:1px solid #e0e4e8;
  border-radius:999px;
  background:#fff;
  box-shadow:0 6px 18px rgba(0,0,0,.10);
  opacity:0;
  visibility:hidden;
  transform:translateY(3px);
  transition:.14s ease;
  z-index:5;
}
.chat-bubble{position:relative}
.chat-message:hover .reaction-picker,
.chat-message:focus-within .reaction-picker{
  opacity:1;visibility:visible;transform:translateY(0)
}
.reaction-picker .reaction-btn{width:28px;height:28px;padding:0;display:grid;place-items:center}
.new-message-btn{
  position:absolute;
  right:24px;
  bottom:102px;
  z-index:8;
  border:0;
  border-radius:999px;
  padding:8px 13px;
  background:#17191d;
  color:#fff;
  font-size:10px;
  font-weight:800;
  box-shadow:0 8px 20px rgba(0,0,0,.16);
  cursor:pointer;
}
.chat-panel{position:relative}
.photo-day-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.photo-day-head h3{margin:0}.tiny-btn{padding:5px 8px!important;font-size:9px!important}
.photo-edit-preview{height:230px;border:1px dashed #d7dce1;border-radius:11px;display:grid;place-items:center;overflow:hidden;background:#f6f7f8;margin-bottom:14px;color:#8a9199;font-size:11px}
.photo-edit-preview img{width:100%;height:100%;object-fit:contain}
.photo-delete-form{margin-top:10px;padding-top:12px;border-top:1px solid var(--line)}
.question-admin-list{display:flex;flex-direction:column;gap:8px}
.question-admin-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px;align-items:center}
.question-edit-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}
.question-edit-form input,.question-add-form input{border:1px solid var(--line);border-radius:9px;padding:9px 10px;min-width:0}
.question-add-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.question-add-form .field{margin:0}
.lounge-fun-strip.no-question{grid-template-columns:1fr 1fr}
@media(max-width:720px){
  .reaction-picker{opacity:1;visibility:visible;position:static;box-shadow:none;border:0;padding:3px 0;background:transparent;margin-top:4px}
  .question-admin-row{grid-template-columns:1fr}
  .question-edit-form{grid-template-columns:1fr}
  .question-add-form{grid-template-columns:1fr}
}

/* v1.4.2 — 10 moods, delayed reactions, beep-beep volume, Show Today */
.lounge-fun-strip{
  grid-template-columns:minmax(300px,1.15fr) minmax(210px,.72fr) minmax(250px,.9fr) minmax(340px,1.35fr);
}
.lounge-fun-strip.no-question{
  grid-template-columns:minmax(300px,1.15fr) minmax(210px,.72fr) minmax(250px,.9fr);
}
.sound-card{display:flex;flex-direction:column;justify-content:center}
.sound-volume{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.sound-step{
  min-width:34px;height:34px;border:1px solid var(--line);border-radius:9px;
  background:#fff;font-size:10px;font-weight:900;cursor:pointer;padding:0 7px;
}
.sound-step:first-child{font-size:16px}
.sound-step:hover,.sound-step.active{
  border-color:#17191d;background:#f5f6f7;box-shadow:0 0 0 1px #17191d inset;
}
.sound-label{font-size:9px;color:var(--muted);margin-top:7px}

/* Reaction picker only appears after hovering intentionally for one second. */
.reaction-picker{
  transition:
    opacity .14s ease 0s,
    transform .14s ease 0s,
    visibility 0s linear .14s;
}
.chat-message:hover .reaction-picker,
.chat-message:focus-within .reaction-picker{
  transition:
    opacity .14s ease 1s,
    transform .14s ease 1s,
    visibility 0s linear 1s;
}

.question-admin-row{
  grid-template-columns:minmax(0,1fr) auto;
}
.question-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.question-actions form{margin:0}
.today-badge{
  display:inline-flex;align-items:center;min-height:34px;padding:0 10px;border-radius:9px;
  background:#17191d;color:#fff;font-size:10px;font-weight:900;
}
.question-admin-row.showing-today{
  padding:5px;border-radius:11px;background:#f7f8f9;
}
@media(max-width:1250px){
  .lounge-fun-strip{grid-template-columns:1fr 1fr}
  .question-card{grid-column:1/-1}
}
@media(max-width:720px){
  .lounge-fun-strip,.lounge-fun-strip.no-question{grid-template-columns:1fr}
  .question-card{grid-column:auto}
  /* Touch devices keep reactions immediately available. */
  .reaction-picker{
    transition:none!important;
  }
  .question-admin-row{grid-template-columns:1fr}
  .question-actions{justify-content:flex-start}
}

/* v1.4.3 — real volume slider + global Lounge badge */
.volume-control{
  display:grid;
  grid-template-columns:36px minmax(120px,1fr) 48px;
  align-items:center;
  gap:9px;
}
.volume-mute-btn{
  width:36px;height:36px;border:1px solid var(--line);border-radius:9px;
  background:#fff;cursor:pointer;font-size:17px;display:grid;place-items:center;
}
.volume-mute-btn:hover{background:#f5f6f7}
#chatVolumeSlider{
  --volume:50%;
  width:100%;
  appearance:none;
  height:8px;
  border-radius:999px;
  background:linear-gradient(to right,#17191d 0 var(--volume),#e4e7eb var(--volume) 100%);
  outline:none;
  cursor:pointer;
}
#chatVolumeSlider::-webkit-slider-thumb{
  appearance:none;
  width:18px;height:18px;border-radius:50%;
  background:#fff;border:3px solid #17191d;
  box-shadow:0 2px 5px rgba(0,0,0,.18);
  cursor:grab;
}
#chatVolumeSlider::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.08)}
#chatVolumeSlider::-moz-range-thumb{
  width:14px;height:14px;border-radius:50%;
  background:#fff;border:3px solid #17191d;
  box-shadow:0 2px 5px rgba(0,0,0,.18);
  cursor:grab;
}
#chatVolumeValue{font-size:10px;font-weight:900;text-align:right;color:#4f5761}

.nav-item{position:relative}
.lounge-nav-badge{
  margin-left:auto;
  min-width:18px;height:18px;padding:0 5px;border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;
  background:#f21f2b;color:#fff;font-size:9px;font-weight:900;
}
.lounge-nav-badge[hidden]{display:none!important}

@media(max-width:720px){
  .volume-control{grid-template-columns:36px minmax(100px,1fr) 44px}
}

/* v1.4.5 — Lounge realtime polish */
.mood-card-expanded{position:relative}
.mood-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.mood-picker-20{
  display:grid!important;
  grid-template-columns:repeat(10,minmax(0,1fr));
  gap:5px!important;
}
.mood-picker-20 .mood-btn{
  width:100%!important;
  min-width:0!important;
  height:34px!important;
  padding:0!important;
  display:grid;
  place-items:center;
  font-size:17px!important;
}
.sound-utility{position:relative;display:inline-flex;align-items:center}
.sound-icon-btn{
  width:30px;height:30px;border:1px solid var(--line);border-radius:8px;
  background:#fff;cursor:pointer;font-size:15px;display:grid;place-items:center;
}
.sound-icon-btn:hover,.sound-utility.open .sound-icon-btn{background:#f6f7f8}
.sound-popover{
  position:absolute;right:0;top:calc(100% + 8px);
  width:230px;padding:11px 12px;
  background:#fff;border:1px solid #dfe3e7;border-radius:12px;
  box-shadow:0 10px 28px rgba(0,0,0,.14);
  z-index:40;
  opacity:0;visibility:hidden;transform:translateY(-4px);
  transition:opacity .12s ease,transform .12s ease,visibility .12s;
  pointer-events:none;
}
.sound-utility:hover .sound-popover,
.sound-utility:focus-within .sound-popover,
.sound-utility.open .sound-popover{
  opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto;
}
.sound-popover-title{font-size:11px;font-weight:900;margin-bottom:8px}
.sound-popover-row{display:grid;grid-template-columns:1fr 42px;align-items:center;gap:8px}
.sound-popover-row #chatVolumeSlider{width:100%}
.sound-popover-row #chatVolumeValue{font-size:10px;font-weight:900;text-align:right}
.sound-popover-hint{font-size:9px;color:#777f88;margin-top:6px}

.chat-attachment-preview{
  grid-column:1/-1;
  display:grid;grid-template-columns:54px minmax(0,1fr) 30px;
  align-items:center;gap:10px;
  border:1px solid #e1e4e8;background:#f8f9fa;
  border-radius:10px;padding:8px;
  margin-bottom:4px;
}
.chat-attachment-preview[hidden]{display:none!important}
.chat-attachment-preview img{
  width:54px;height:54px;object-fit:cover;border-radius:8px;background:#eceff1;
}
.chat-attachment-info{min-width:0;display:flex;flex-direction:column;gap:2px}
.chat-attachment-info b{
  font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.chat-attachment-info span{font-size:9px;color:#7a8189}
.chat-attachment-remove{
  width:28px;height:28px;border:0;border-radius:7px;background:#fff;
  cursor:pointer;font-size:18px;line-height:1;color:#555;
}
.chat-attachment-remove:hover{background:#eceff1}

@media(max-width:760px){
  .mood-picker-20{grid-template-columns:repeat(5,minmax(0,1fr))}
  .sound-popover{right:-4px;width:210px}
}

/* =========================================================
   v1.5.0 — Department Expansion / Sales Workspace
   Simple on the surface. Powerful underneath.
   ========================================================= */
.hub-dept-card{text-decoration:none;color:inherit;transition:transform .12s ease,border-color .12s ease}
.hub-dept-card:hover{transform:translateY(-1px);border-color:#bfc4ca}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.kpi{display:flex;flex-direction:column;gap:8px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff;text-decoration:none;color:inherit}
.kpi span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#737a82}
.kpi strong{font-size:28px;line-height:1}
.kpi.danger-soft{background:#fff8f8;border-color:#efd5d8}
.toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}
.search-inline{display:flex;gap:8px;align-items:center}
.search-inline input{min-width:260px}
.doc-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:14px}
.doc-tabs a{padding:10px 14px;text-decoration:none;color:#646b73;font-size:12px;font-weight:800;border-bottom:2px solid transparent}
.doc-tabs a.active{color:#111;border-bottom-color:#e31e2d}
.row-link{cursor:pointer}
.row-link:hover td{background:#fafafa}
.row-arrow{text-align:right;font-size:22px;color:#8a9198}
.status-pill{display:inline-flex;align-items:center;min-height:23px;padding:0 8px;border-radius:999px;background:#f0f2f4;font-size:10px;font-weight:800}
.age-badge{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:7px;background:#f2f3f4;font-size:10px;font-weight:900;white-space:nowrap}
.age-badge.overdue{background:#fff0f1;color:#b51e29}
.age-badge.muted{color:#8a9198}
.modal-card{width:min(620px,calc(100vw - 30px));border:0;border-radius:14px;padding:0;box-shadow:0 18px 50px rgba(0,0,0,.2)}
.modal-card.wide{width:min(820px,calc(100vw - 30px))}
.modal-card::backdrop{background:rgba(0,0,0,.38)}
.modal-card form{padding:18px}
.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}
.modal-head h2{margin:0 0 4px}.modal-head p{margin:0;color:#737a82;font-size:11px}
.span-2{grid-column:span 2}.span-all{grid-column:1/-1}
.commercial-box{margin-top:14px;border:1px solid #dedfe2;border-radius:10px;padding:10px 12px;background:#fafafa}
.document-editor{display:grid;gap:14px}
.combo-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.mini-add{font-size:10px;font-weight:800;color:#383d43;text-decoration:none;white-space:nowrap}
.doc-item-row{position:relative;display:grid;grid-template-columns:1.7fr 1fr .6fr .7fr .9fr .8fr .8fr;gap:8px;padding:12px 38px 12px 12px;margin-bottom:9px;border:1px solid #e2e4e7;border-radius:11px;background:#fbfbfc}
.doc-item-row .field{margin:0}.doc-item-row label{font-size:9px}
.product-select-field{grid-row:span 1}.product-select-field select{margin-bottom:5px}
.item-total-box strong{display:flex;align-items:center;min-height:38px;font-size:13px}
.doc-item-remove{position:absolute;right:9px;top:9px;width:26px;height:26px;border:0;border-radius:7px;background:#fff;font-size:18px;cursor:pointer;color:#777}
.doc-item-remove:hover{background:#eceeef}
.simple-summary{display:grid;grid-template-columns:160px 120px minmax(260px,1fr);gap:12px;align-items:end}
.summary-numbers{display:flex;justify-content:flex-end;gap:18px;align-items:center;flex-wrap:wrap}
.summary-numbers span{font-size:11px;color:#6f767d}.summary-numbers span b{color:#222;margin-left:4px}
.summary-numbers strong{font-size:16px}
.sticky-doc-actions{position:sticky;bottom:0;z-index:10;display:flex;gap:8px;padding:11px 0;background:linear-gradient(to bottom,rgba(247,248,249,0),#f7f8f9 30%)}
.compact-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.action-more{position:relative}.action-more summary{list-style:none;cursor:pointer;border:1px solid var(--line);border-radius:8px;padding:8px 12px;font-weight:900;background:#fff}
.action-more summary::-webkit-details-marker{display:none}.action-more>div{position:absolute;right:0;top:calc(100% + 5px);min-width:130px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:0 10px 28px rgba(0,0,0,.12);z-index:30}.action-more a{display:block;padding:8px;text-decoration:none;color:#222;font-size:11px;border-radius:6px}.action-more a:hover{background:#f4f5f6}
.document-view-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:14px}
.doc-view-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.doc-view-meta div{padding:10px;background:#f7f8f9;border-radius:8px}.doc-view-meta span{display:block;color:#7c838a;font-size:9px;text-transform:uppercase;font-weight:800;margin-bottom:4px}.doc-view-meta b{font-size:12px}
.table-wrap.flat{border:0;border-radius:0}.doc-total-block{width:min(370px,100%);margin-left:auto;padding-top:14px;display:grid;gap:6px}.doc-total-block span{display:flex;justify-content:space-between;font-size:11px;color:#676e75}.doc-total-block strong{display:flex;justify-content:space-between;border-top:2px solid #24272b;padding-top:8px;font-size:15px}
.activity-list{display:grid;gap:10px}.activity-list>div{border-left:2px solid #e1e3e6;padding-left:10px}.activity-list b{display:block;font-size:11px}.activity-list span{display:block;font-size:9px;color:#81878e;margin-top:2px}
.clean-table td{vertical-align:middle}

@media(max-width:1100px){
  .doc-item-row{grid-template-columns:repeat(4,minmax(0,1fr))}
  .product-select-field{grid-column:span 2}.span-all{grid-column:1/-1}
}
@media(max-width:900px){
  .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .document-view-grid{grid-template-columns:1fr}.doc-view-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
  .simple-summary{grid-template-columns:1fr 1fr}.summary-numbers{grid-column:1/-1;justify-content:flex-start}
}
@media(max-width:650px){
  .kpi-grid{grid-template-columns:1fr 1fr}.toolbar-row{align-items:stretch;flex-direction:column}.search-inline{width:100%}.search-inline input{min-width:0;flex:1}
  .doc-item-row{grid-template-columns:1fr 1fr}.product-select-field{grid-column:1/-1}.doc-view-meta{grid-template-columns:1fr 1fr}
  .span-2{grid-column:1/-1}
}

/* =========================================================
   v1.5.1 — Admin Preview + Compact Sales UX + Safe Delete
   ========================================================= */
.admin-view-switch{
  display:inline-flex;align-items:center;gap:3px;padding:3px;
  border:1px solid var(--line);border-radius:10px;background:#fff;
}
.admin-view-switch>span{font-size:9px;font-weight:900;color:#727980;padding:0 5px;text-transform:uppercase}
.admin-view-switch a{
  text-decoration:none;color:#555d65;font-size:10px;font-weight:800;
  padding:6px 8px;border-radius:7px;
}
.admin-view-switch a.active{background:#17191d;color:#fff}

.compact-page-head{margin-bottom:10px!important}
.compact-page-head h1{margin-bottom:2px}
.compact-toolbar{margin:8px 0!important}
.compact-document-editor{gap:9px}
.compact-document-editor>.panel{padding:12px}
.compact-document-editor .section-head{margin-bottom:8px}
.compact-document-editor .section-head h2{font-size:14px}
.compact-document-editor .field{gap:4px}
.compact-document-editor .field label{font-size:9px}
.compact-document-editor input,
.compact-document-editor select{min-height:34px;padding-top:6px;padding-bottom:6px}
.compact-document-editor textarea{min-height:58px}
.document-info-grid{
  display:grid!important;
  grid-template-columns:1.4fr 1fr .85fr .85fr!important;
  gap:7px 9px!important;
}
.document-info-grid .field-date{max-width:150px}
.document-info-grid .field-short{min-width:0}
.date-dmy{font-variant-numeric:tabular-nums;letter-spacing:.02em}
.compact-document-editor .doc-item-row{
  gap:6px;padding-top:8px;padding-bottom:8px;margin-bottom:6px
}
.compact-document-editor .doc-item-row input,
.compact-document-editor .doc-item-row select{min-height:31px;font-size:11px}
.compact-document-editor .doc-item-row label{font-size:8px}
.compact-document-editor .document-summary-panel{padding-top:10px}
.compact-document-editor .sticky-doc-actions{padding-top:6px;padding-bottom:6px}

.compact-customer-modal{width:min(760px,calc(100vw - 24px))}
.compact-customer-modal form{padding:14px}
.compact-customer-modal .modal-head{margin-bottom:10px}
.customer-compact-grid{
  display:grid;
  grid-template-columns:1.3fr .9fr 1fr 1fr;
  gap:8px 10px;
}
.customer-compact-grid .field{margin:0}
.customer-compact-grid label{font-size:9px}
.customer-compact-grid input{min-height:34px}
.customer-compact-grid textarea{min-height:54px;resize:vertical}
.customer-compact-grid .field-company{grid-column:span 2}
.customer-compact-grid .field-address{grid-column:span 3}
.customer-compact-grid .field-note{grid-column:span 1}
.compact-modal-actions{margin-top:10px}

.table-action{width:46px;text-align:right}
.row-more{position:relative;display:inline-block}
.row-more summary{
  list-style:none;cursor:pointer;font-weight:900;font-size:18px;
  line-height:1;padding:4px 7px;border-radius:7px;color:#6c737a;
}
.row-more summary::-webkit-details-marker{display:none}
.row-more summary:hover{background:#f0f2f3}
.row-more>div{
  position:absolute;right:0;top:calc(100% + 4px);z-index:40;
  min-width:190px;background:#fff;border:1px solid var(--line);
  border-radius:10px;padding:5px;box-shadow:0 12px 28px rgba(0,0,0,.13);
}
.row-more a,.row-more button{
  width:100%;display:block;text-align:left;border:0;background:transparent;
  padding:8px 9px;border-radius:7px;font-size:11px;text-decoration:none;color:#222;cursor:pointer;
}
.row-more a:hover,.row-more button:hover{background:#f4f5f6}
.danger-link{color:#b4232d!important;font-weight:800!important}
.danger-strong{border-top:1px solid #eee!important;margin-top:4px!important;padding-top:10px!important}

.action-more form{margin:0}
.action-more button.danger-link{
  width:100%;border:0;background:transparent;text-align:left;
  padding:8px;border-radius:6px;cursor:pointer;font-size:11px;
}
.action-more button.danger-link:hover{background:#fff0f1}

@media(max-width:1050px){
  .document-info-grid{grid-template-columns:1fr 1fr!important}
  .document-info-grid .field-date{max-width:none}
}
@media(max-width:760px){
  .admin-view-switch>span{display:none}
  .admin-view-switch a{padding:6px}
  .customer-compact-grid{grid-template-columns:1fr 1fr}
  .customer-compact-grid .field-company,
  .customer-compact-grid .field-address{grid-column:1/-1}
  .customer-compact-grid .field-note{grid-column:1/-1}
}

/* =========================================================
   v1.5.2 — One-screen proportional UX + i18n polish
   ========================================================= */

/* Keep the desktop work area dense but breathable. */
@media(min-width:1100px){
  .content{padding-top:14px;padding-bottom:14px}
  .page-head.document-page-head{margin-bottom:7px!important}
  .document-page-head h1{font-size:25px;line-height:1.05;margin:0}
  .compact-document-editor{gap:7px!important}
  .compact-document-editor>.panel{padding:10px 12px!important;border-radius:11px}
  .compact-section-head{margin-bottom:6px!important;min-height:24px}
  .compact-section-head h2{font-size:13px!important;margin:0}
}

/* 12-column layout gives each field the width its data actually needs. */
.document-info-grid{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  gap:6px 8px!important;
  align-items:end;
}
.document-info-grid .field{min-width:0}
.doc-customer-select{grid-column:span 4}
.doc-company{grid-column:span 3}
.doc-contact{grid-column:span 3}
.doc-position{grid-column:span 2}
.doc-phone{grid-column:span 2}
.doc-email{grid-column:span 3}
.doc-tax{grid-column:span 2}
.doc-province{grid-column:span 2}
.doc-address{grid-column:span 5}
.doc-number{grid-column:span 3}
.doc-issue,.doc-sent,.doc-valid,.doc-due,.doc-payment{grid-column:span 2;max-width:none!important}
.doc-currency{grid-column:span 2}
.doc-status{grid-column:span 3}

.compact-document-editor .field label{
  min-height:12px;
  font-size:8.5px!important;
  line-height:1.1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.compact-document-editor input,
.compact-document-editor select{
  min-height:31px!important;
  height:31px;
  padding:4px 9px!important;
  font-size:11px!important;
  border-radius:8px;
}
.compact-document-editor .field-date{position:relative}
.compact-document-editor .field-date small{
  position:absolute;
  right:5px;
  top:-1px;
  font-size:7.5px;
  color:#8a9096;
  background:#fff;
  padding-left:4px;
}
.combo-line{grid-template-columns:minmax(0,1fr) auto!important;gap:5px!important}
.mini-add{font-size:9px!important}

/* Product rows are a compact table-like strip. */
.compact-document-editor .doc-item-row{
  grid-template-columns:2.3fr 1fr .55fr .6fr 1fr .8fr 1fr!important;
  gap:5px!important;
  padding:7px 34px 7px 8px!important;
  border-radius:9px!important;
  align-items:end;
}
.compact-document-editor .product-select-field{grid-column:auto!important}
.compact-document-editor .doc-item-row .span-all{
  grid-column:1/-1!important;
}
.compact-document-editor .doc-item-row input,
.compact-document-editor .doc-item-row select{
  min-height:29px!important;height:29px!important;font-size:10px!important;
}
.compact-document-editor .doc-item-row .item-description{
  height:27px!important;min-height:27px!important;
}
.compact-document-editor .item-total-box strong{
  min-height:29px!important;font-size:11px!important;justify-content:flex-end;
}
.btn-sm{padding:6px 9px!important;min-height:29px!important;font-size:10px!important}

/* Summary + actions in one low-height footer area. */
.document-summary-panel{padding:8px 12px!important}
.simple-summary{
  grid-template-columns:130px 100px 1fr!important;
  gap:8px!important;
  align-items:end!important;
}
.summary-numbers{gap:15px!important}
.summary-numbers strong{font-size:15px!important}
.document-summary-panel .more{margin-top:5px}
.sticky-doc-actions{
  position:sticky!important;
  bottom:0;
  z-index:15;
  min-height:45px;
  margin-top:-3px;
  padding:6px 0!important;
  background:rgba(247,248,249,.96)!important;
  backdrop-filter:blur(8px);
}

/* Customer modal: priority first, all useful fields visible in one desktop modal. */
.customer-modal-balanced{
  width:min(920px,calc(100vw - 32px))!important;
  max-height:calc(100vh - 28px);
  overflow:hidden;
  border-radius:15px!important;
}
.customer-modal-balanced form{padding:14px 16px 12px!important}
.compact-modal-head{margin-bottom:10px!important}
.compact-modal-head h2{font-size:24px;line-height:1;margin:0 0 4px}
.compact-modal-head p{font-size:10px!important}
.modal-x{
  width:34px;height:34px;border:1px solid #e0e3e6;background:#fff;border-radius:9px;
  cursor:pointer;font-size:16px;display:grid;place-items:center
}
.customer-priority-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:7px 10px;
}
.customer-priority-grid .field{margin:0;min-width:0}
.customer-priority-grid label{font-size:9px!important;line-height:1}
.customer-priority-grid input{
  min-height:34px;height:34px;padding:5px 10px;border-radius:8px
}
.customer-priority-grid textarea{
  min-height:54px!important;height:54px;padding:7px 10px;border-radius:8px;resize:none
}
.customer-priority-grid .c-company{grid-column:span 5}
.customer-priority-grid .c-contact{grid-column:span 4}
.customer-priority-grid .c-phone{grid-column:span 3}
.customer-priority-grid .c-email{grid-column:span 4}
.customer-priority-grid .c-tax{grid-column:span 3}
.customer-priority-grid .c-province{grid-column:span 2}
.customer-priority-grid .c-position{grid-column:span 3}
.customer-priority-grid .c-address{grid-column:span 8}
.customer-priority-grid .c-note{grid-column:span 4}
.customer-modal-footer{
  display:flex;justify-content:space-between;align-items:center;
  margin-top:10px;padding-top:9px;border-top:1px solid #eceef0
}
.req{color:#ef2332}

/* Row action popup must escape scroll containers. JS positions it in the viewport. */
.row-more>div{
  position:fixed!important;
  right:auto!important;
  top:auto!important;
  z-index:9999!important;
}
.table-wrap{overflow-x:auto;overflow-y:visible}
.clean-table{overflow:visible}

/* Better proportions for compact toolbar/search. */
.compact-toolbar .search-inline input{width:260px;max-width:32vw}
.compact-toolbar{align-items:center}

/* One-screen target: 1080p desktop. */
@media(min-width:1200px) and (min-height:760px){
  .compact-document-editor .panel{margin:0}
  .compact-document-editor .document-summary-panel{margin-bottom:0}
}

@media(max-width:1099px){
  .document-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .document-info-grid>*{grid-column:span 1!important}
  .doc-customer-select,.doc-address{grid-column:1/-1!important}
  .compact-document-editor .doc-item-row{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .compact-document-editor .product-select-field{grid-column:span 2!important}
}
@media(max-width:700px){
  .customer-priority-grid{grid-template-columns:1fr 1fr}
  .customer-priority-grid>*{grid-column:span 1!important}
  .customer-priority-grid .c-company,
  .customer-priority-grid .c-address,
  .customer-priority-grid .c-note{grid-column:1/-1!important}
}

/* =========================================================
   v1.5.3 — Sales privacy + Unit Master
   ========================================================= */
.section-actions{display:flex;align-items:center;gap:6px}
.privacy-hint{
  margin:3px 0 0!important;
  font-size:9px!important;
  line-height:1.25!important;
  color:#7a8188!important;
}
.compact-document-editor select.item-unit{
  min-width:0;
  width:100%;
}
.product-unit-select{min-width:0;width:100%}
.product-unit-select + .mini-add,
.unit-add-trigger.mini-add{
  border:0;background:transparent;cursor:pointer;white-space:nowrap
}
@media(max-width:760px){
  .section-actions{gap:4px}
  .section-actions .unit-add-trigger{display:none}
}

/* =========================================================
   v1.5.4 — clean forms + aligned items + base categories
   ========================================================= */

/* Item row: every control shares the exact same baseline and height. */
.compact-document-editor .doc-item-row{
  align-items:start!important;
}
.compact-document-editor .doc-item-row .field{
  display:grid;
  grid-template-rows:12px 34px;
  align-content:start;
  gap:3px;
  min-width:0;
}
.compact-document-editor .doc-item-row .field.span-all{
  grid-template-rows:12px 32px;
}
.compact-document-editor .doc-item-row .field label{
  height:12px!important;
  min-height:12px!important;
  line-height:12px!important;
  margin:0!important;
  display:block;
}
.compact-document-editor .doc-item-row input,
.compact-document-editor .doc-item-row select,
.compact-document-editor .product-select-field select{
  width:100%;
  height:34px!important;
  min-height:34px!important;
  margin:0!important;
  padding:5px 9px!important;
  border:1px solid #d9dde2;
  border-radius:8px;
  background:#fff;
  line-height:1.2;
}
.compact-document-editor .product-select-field select{
  margin-bottom:0!important;
}
.compact-document-editor .item-total-box strong{
  height:34px!important;
  min-height:34px!important;
  margin:0;
  padding:0 10px;
  display:flex!important;
  align-items:center;
  justify-content:flex-end;
  border:1px solid #e1e4e8;
  border-radius:8px;
  background:#f7f8f9;
  font-size:11px!important;
  font-weight:800;
}
.compact-document-editor .doc-item-row .item-description{
  height:32px!important;
  min-height:32px!important;
  margin:0!important;
}

/* Removing placeholder examples leaves a calmer customer form. */
.customer-priority-grid input::placeholder,
.customer-priority-grid textarea::placeholder{
  color:transparent;
}

/* Product category is a controlled base list. */
#productAdd select[name="category"]{
  width:100%;
}

/* With Sent Date automated, the quotation header fits the 12-col row cleanly. */
.document-info-grid .doc-valid{grid-column:span 2}

/* =========================================================
   v1.5.5 — Profile Account / Logout
   ========================================================= */
.profile-account-panel{
  margin-top:12px;
  padding:14px 16px!important;
}
.profile-account-copy{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.profile-account-copy h3{
  margin:2px 0 4px;
  font-size:15px;
}
.profile-account-copy p{
  margin:0;
  font-size:11px;
  color:var(--muted);
}
.profile-logout-btn{
  border:1px solid #d9dde2;
  background:#fff;
  color:#20242a;
  min-width:96px;
}
.profile-logout-btn:hover{
  background:#f3f4f6;
}
@media(max-width:700px){
  .profile-account-copy{
    align-items:flex-start;
    flex-direction:column;
  }
  .profile-account-copy form,
  .profile-logout-btn{
    width:100%;
  }
}

/* =========================================================
   v1.5.6 — Inline Master Data actions
   ========================================================= */

/* + lives inside the select control, so it consumes no extra form width. */
.select-with-action{
  position:relative;
  width:100%;
  min-width:0;
}
.select-with-action>select{
  width:100%!important;
  padding-right:38px!important;
  margin:0!important;
}
.field-plus{
  position:absolute;
  top:1px;
  right:1px;
  width:32px;
  height:calc(100% - 2px);
  min-height:0;
  padding:0;
  border:0;
  border-left:1px solid #e1e4e8;
  border-radius:0 7px 7px 0;
  background:#fff;
  color:#252a30;
  font-size:16px;
  font-weight:800;
  line-height:1;
  display:grid;
  place-items:center;
  cursor:pointer;
  z-index:2;
}
.field-plus:hover{
  background:#f3f4f6;
}

/* Product + Model is one shared master choice; Model is no longer typed in quotation. */
.compact-document-editor .doc-item-row{
  grid-template-columns:2.8fr .65fr .9fr 1.05fr .85fr 1.05fr!important;
}
.compact-document-editor .product-select-field{
  grid-column:auto!important;
}
.compact-document-editor .doc-item-row .select-with-action{
  height:34px;
}
.compact-document-editor .doc-item-row .select-with-action select{
  height:34px!important;
  min-height:34px!important;
}
.compact-document-editor .doc-item-row .field-plus{
  height:32px;
}

/* Customer selector stays one compact control with + embedded. */
.document-info-grid .doc-customer-select .select-with-action{
  height:31px;
}
.document-info-grid .doc-customer-select .field-plus{
  height:29px;
}

/* Quick master dialogs are intentionally small and one-screen. */
.quick-master-dialog{
  width:min(720px,calc(100vw - 32px))!important;
  max-height:calc(100vh - 36px);
  overflow:hidden;
}
.quick-master-dialog form{
  padding:14px 16px 12px!important;
}
.quick-master-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 10px;
}
.quick-master-grid .field{
  margin:0;
  min-width:0;
}
.quick-master-grid .span-2{
  grid-column:1/-1;
}
.quick-master-grid label{
  font-size:9px!important;
}
.quick-master-grid input,
.quick-master-grid select{
  width:100%;
  min-height:34px;
  height:34px;
  padding:5px 9px;
  border-radius:8px;
}
.quick-master-grid .select-with-action{
  height:34px;
}
.quick-master-grid .field-plus{
  height:32px;
}
.quick-master-note{
  margin-top:8px;
  padding:7px 9px;
  border-radius:8px;
  background:#f5f6f7;
  color:#727983;
  font-size:9px;
}
@media(max-width:760px){
  .quick-master-grid{grid-template-columns:1fr}
  .quick-master-grid .span-2{grid-column:auto}
}

/* =========================================================
   v1.5.8 — Product modal spacing + Company Master + Lounge Daily
   ========================================================= */

/* Product / Model quick dialog: balanced 2-column spacing */
.quick-master-dialog .quick-master-grid{
  column-gap:16px!important;
  row-gap:9px!important;
}
.quick-master-dialog .quick-master-grid>.field{
  min-width:0;
}
.quick-master-dialog .select-with-action,
.quick-master-dialog input,
.quick-master-dialog select{
  width:100%!important;
}
.quick-master-dialog .select-with-action>select{
  padding-right:40px!important;
}
.quick-master-dialog .field-plus{
  right:1px!important;
}

/* Company selector stays compact and reusable */
.customer-priority-grid .select-with-action{
  height:34px;
}
.customer-priority-grid .select-with-action select{
  height:34px!important;
  min-height:34px!important;
}
.customer-priority-grid .select-with-action .field-plus{
  height:32px;
}

/* Lounge day reset / Admin history */
.lounge-day-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:10px 0 8px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
}
.lounge-day-bar>div{display:flex;align-items:center;gap:10px;min-width:0}
.lounge-day-bar b{font-size:11px;white-space:nowrap}
.lounge-day-bar span{font-size:9px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.pinned-strip{
  display:flex;
  gap:10px;
  align-items:center;
  padding:7px 9px;
  border-bottom:1px solid var(--line);
  background:#fff8e8;
  font-size:9px;
}
.pinned-strip>b{white-space:nowrap}
#pinnedList{display:flex;gap:6px;min-width:0;overflow:auto}
#pinnedList button{
  border:1px solid #ead9aa;background:#fff;border-radius:7px;padding:4px 7px;font-size:9px;white-space:nowrap;cursor:pointer
}

.chat-message.is-pinned .chat-bubble{box-shadow:inset 3px 0 0 #d99d22}
.pin-badge{margin-left:5px;font-size:10px}
.message-actions{
  display:flex;
  gap:5px;
  opacity:0;
  margin-top:4px;
  transition:.15s;
}
.chat-message:hover .message-actions{opacity:1}
.message-actions button{
  border:0;background:transparent;color:#777;font-size:8px;padding:2px 4px;cursor:pointer
}
.message-actions button:hover{color:#111;text-decoration:underline}
.reply-preview{
  border-left:3px solid #cfd4da;
  background:#f7f8f9;
  border-radius:6px;
  padding:5px 7px;
  margin:5px 0;
  display:flex;flex-direction:column;gap:1px;
  font-size:9px;color:#68707a
}
.reply-preview b{color:#34383d}
.reply-compose{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  background:#f5f6f7;
  border:1px solid var(--line);
  border-radius:8px;
  padding:6px 8px;
}
.reply-compose>div{display:flex;flex-direction:column;min-width:0}
.reply-compose b{font-size:9px}
.reply-compose span{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.reply-compose button{border:0;background:transparent;cursor:pointer}

.mention{
  background:#fff0f1;
  color:#c9151e;
  border-radius:4px;
  padding:0 2px;
  font-weight:700;
}
.mention-menu{
  grid-column:1/-1;
  position:absolute;
  left:12px;
  bottom:104px;
  z-index:25;
  min-width:190px;
  max-height:180px;
  overflow:auto;
  padding:5px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
  box-shadow:0 10px 28px rgba(0,0,0,.12);
}
.mention-menu button{
  display:block;width:100%;border:0;background:#fff;padding:7px 8px;text-align:left;border-radius:6px;cursor:pointer;font-size:10px
}
.mention-menu button:hover{background:#f4f5f6}

.sticker-panel{
  grid-column:1/-1;
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  padding:8px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
}
.sticker-panel button{
  border:1px solid #e1e4e8;
  background:#fff;
  border-radius:9px;
  padding:7px 9px;
  cursor:pointer;
  font-size:10px;
}
.sticker-panel button:hover{background:#f7f8f9}
.heli-sticker{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  margin-top:5px;
  padding:8px 12px;
  border-radius:12px;
  background:#15171b;
  color:#fff;
  font-weight:800;
  font-size:14px;
  letter-spacing:.01em;
}
.heli-sticker.small{font-size:11px;min-height:32px}

.file-chip{
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin-top:6px;
  padding:7px 9px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  font-size:9px;
  color:#333;
}
.chat-feed.drag-active{
  outline:2px dashed var(--heli);
  outline-offset:-8px;
  background:#fff7f7;
}
.chat-feed.drag-active:after{
  content:attr(data-drop-label);
  position:sticky;
  bottom:12px;
  left:50%;
  transform:translateX(-50%);
  display:block;
  width:max-content;
  padding:7px 10px;
  border-radius:8px;
  background:#111;
  color:#fff;
  font-size:10px;
}

.lounge-history-list{display:flex;flex-direction:column;gap:8px}
.history-message{padding:9px 10px;border-bottom:1px solid var(--line)}
.history-message>div:first-child{display:flex;gap:8px;align-items:center}
.history-message span{font-size:9px;color:var(--muted)}
.history-message p{margin:4px 0;font-size:11px}

.chat-compose{position:relative}
.sticker-toggle{border:0;cursor:pointer;background:transparent}
@media(max-width:760px){
  .lounge-day-bar>div{align-items:flex-start;flex-direction:column;gap:2px}
  .lounge-day-bar span{white-space:normal}
  .message-actions{opacity:1}
}

/* =========================================================
   v1.5.9 — Global Select Spacing + Cleaner Reply UX
   ========================================================= */

/* One dropdown rule for the whole Hub.
   Native arrows are removed so every page/document has the same right spacing. */
select:not([multiple]){
  -webkit-appearance:none!important;
  appearance:none!important;
  background-color:#fff!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1.5 1.5 6 6l4.5-4.5' fill='none' stroke='%23262a30' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right 14px center!important;
  background-size:10px 7px!important;
  padding-right:38px!important;
}

/* Selects with an Inline Action Button (+) keep both controls separated:
   arrow first, + button at the far right. */
.select-with-action>select:not([multiple]){
  background-position:right 44px center!important;
  padding-right:68px!important;
}

/* Keep the embedded + visually independent from the dropdown arrow. */
.select-with-action>.field-plus{
  width:34px!important;
  right:1px!important;
}

/* Compact/table selects still use the same arrow spacing without changing height. */
.doc-item-row select:not([multiple]),
.document-info-grid select:not([multiple]),
.quick-master-dialog select:not([multiple]),
.customer-priority-grid select:not([multiple]),
.toolbar-row select:not([multiple]),
.clean-table select:not([multiple]){
  background-position:right 12px center!important;
  padding-right:34px!important;
}
.doc-item-row .select-with-action>select:not([multiple]),
.document-info-grid .select-with-action>select:not([multiple]),
.quick-master-dialog .select-with-action>select:not([multiple]),
.customer-priority-grid .select-with-action>select:not([multiple]){
  background-position:right 43px center!important;
  padding-right:66px!important;
}

/* Reply keeps working, but there is no extra Replying-to bar taking vertical space. */
.reply-compose{display:none!important}
.chat-compose.replying #loungeMessage{
  box-shadow:0 0 0 1px #cfd4da inset;
}

/* =========================================================
   v1.6.2 — Work Market inline action + avatar fallback polish
   ========================================================= */

.market-select-action{
  display:grid;
  grid-template-columns:minmax(0,1fr) 38px;
  width:100%;
  border:1px solid #d9dde2;
  border-radius:9px;
  overflow:hidden;
  background:#fff;
}
.market-select-action>select{
  width:100%;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  min-width:0;
  background-position:right 12px center!important;
  padding-right:34px!important;
}
.market-inline-plus{
  border:0;
  border-left:1px solid #d9dde2;
  background:#fff;
  color:#22272d;
  font-size:17px;
  font-weight:800;
  display:grid;
  place-items:center;
  cursor:pointer;
  min-width:38px;
}
.market-inline-plus:hover{background:#f4f5f6}
.market-select-action:focus-within{
  border-color:#9ea5ae;
  box-shadow:0 0 0 2px rgba(23,25,29,.06);
}

.person-cell img,
.person-cell .person-fallback{
  flex:0 0 auto;
}

/* =========================================================
   v1.6.3 — Country / Dealer Modal polish
   ========================================================= */
.market-master-dialog{
  width:min(600px,calc(100vw - 32px))!important;
  max-height:calc(100vh - 40px);
  border:0;
  border-radius:14px;
  padding:0!important;
  overflow:hidden;
  background:#fff;
  box-shadow:0 20px 60px rgba(0,0,0,.22);
}
.market-master-dialog::backdrop{background:rgba(0,0,0,.42)}
.market-master-dialog .market-master-form{
  padding:0!important;
  margin:0!important;
  display:block;
  background:#fff;
}
.market-modal-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:16px 18px 14px;
  border-bottom:1px solid var(--line);
}
.market-modal-head h2{
  margin:0 0 4px;
  font-size:18px;
  line-height:1.2;
}
.market-modal-head p{
  margin:0;
  font-size:10px;
  line-height:1.5;
  color:var(--muted);
}
.market-modal-body{
  padding:16px 18px 18px;
}
.market-modal-body .field{
  margin:0;
}
.market-modal-body label{
  display:block;
  margin-bottom:6px;
}
.market-modal-body input{
  width:100%;
  min-height:40px;
}
.market-modal-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px 18px 14px;
  border-top:1px solid var(--line);
  background:#fafbfc;
}
.market-modal-footer .btn{
  min-height:36px;
}
@media(max-width:620px){
  .market-master-dialog{width:calc(100vw - 20px)!important}
  .market-modal-head,.market-modal-body,.market-modal-footer{padding-left:14px;padding-right:14px}
}

/* =========================================================
   v1.6.4 — Work list row actions
   ========================================================= */
.work-actions-col{width:44px;text-align:right}
.work-row-actions{display:flex;justify-content:flex-end}
.work-row-more-btn{
  width:30px;height:30px;
  border:1px solid transparent;
  border-radius:8px;
  background:transparent;
  font-size:18px;
  line-height:1;
  display:grid;
  place-items:center;
  cursor:pointer;
  color:#5f6770;
}
.work-row-more-btn:hover,.work-row-more-btn.active{
  background:#f1f3f5;
  border-color:#e0e3e6;
  color:#17191d;
}
.work-row-popover{
  position:fixed;
  z-index:10050;
  min-width:150px;
  padding:5px;
  border:1px solid #dfe2e6;
  border-radius:10px;
  background:#fff;
  box-shadow:0 12px 32px rgba(0,0,0,.14);
}
.work-row-popover a,
.work-row-popover button{
  width:100%;
  min-height:34px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:7px 9px;
  border:0;
  border-radius:7px;
  background:#fff;
  color:#262b31;
  text-decoration:none;
  text-align:left;
  font:inherit;
  cursor:pointer;
}
.work-row-popover a:hover,.work-row-popover button:hover{background:#f4f5f6}
.work-row-popover .danger{color:#c51f28}
.work-row-popover .danger:hover{background:#fff0f1}

.work-row-popover form{margin:0;padding:0}

.work-admin-divider{
  margin:5px 4px 3px;
  padding-top:5px;
  border-top:1px solid #eceef1;
}
.work-admin-divider span{
  font-size:8px;
  font-weight:800;
  color:#9a3a40;
  text-transform:uppercase;
  letter-spacing:.04em;
}

/* =========================================================
   v1.6.7 — Minimal Files / Evidence form
   ========================================================= */
.work-file-simple{
  display:grid;
  gap:10px;
}
.work-file-meta{
  gap:10px!important;
}
.work-upload-field{
  margin:0;
}
.work-upload-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
}
.work-upload-row input[type="file"]{
  min-width:0;
  width:100%;
}
.work-link-details{
  margin-top:2px;
  border-top:1px solid var(--line);
  padding-top:8px;
}
.work-link-details summary{
  list-style:none;
  width:max-content;
  cursor:pointer;
  font-size:9px;
  font-weight:800;
  color:#4d555e;
}
.work-link-details summary::-webkit-details-marker{display:none}
.work-link-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  margin-top:9px;
}
.work-link-row input{min-width:0}
@media(max-width:620px){
  .work-upload-row,.work-link-row{grid-template-columns:1fr}
  .work-upload-row .btn,.work-link-row .btn{width:100%}
}

/* =========================================================
   v1.6.8 — Completion flow + wider Files / Evidence URL
   ========================================================= */
.work-link-row{
  grid-template-columns:minmax(0,1fr) 86px!important;
  gap:10px!important;
}
.work-link-row input{
  min-height:40px!important;
  height:40px!important;
  padding:8px 12px!important;
}
.work-link-row .btn{
  min-height:40px!important;
  height:40px!important;
}
.work-upload-row{
  grid-template-columns:minmax(0,1fr) 110px!important;
}
.work-upload-row input[type="file"]{
  min-height:40px;
}
.work-upload-row .btn{
  min-height:40px!important;
}

.work-completed-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:0 0 12px;
  padding:10px 12px;
  border:1px solid #cdebd9;
  border-radius:11px;
  background:#eefaf3;
}
.work-completed-banner>div{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.work-completed-banner b{
  font-size:11px;
  color:#176c43;
}
.work-completed-banner span{
  font-size:9px;
  color:#4f6d5d;
}

.complete-shell{
  width:min(860px,100%);
  margin:0 auto;
}
.complete-simple-card{
  padding:16px!important;
}
.complete-work-title{
  padding-bottom:12px;
  margin-bottom:12px;
  border-bottom:1px solid var(--line);
}
.complete-work-title span{
  display:block;
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
  color:var(--heli);
  letter-spacing:.04em;
}
.complete-work-title h2{
  margin:4px 0 0;
  font-size:16px;
}
.complete-simple-card textarea{
  min-height:100px;
}
.complete-final-block,
.complete-portfolio-block{
  margin-top:14px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fafbfc;
}
.complete-block-title{
  margin-bottom:9px;
  font-size:10px;
  font-weight:800;
}
.complete-block-title span{
  font-size:8px;
  font-weight:400;
  color:var(--muted);
}
.complete-final-url{
  margin-top:8px;
}
.complete-final-url summary{
  list-style:none;
  width:max-content;
  cursor:pointer;
  font-size:9px;
  font-weight:800;
  color:#505860;
}
.complete-final-url summary::-webkit-details-marker{display:none}
.complete-final-url .field{
  margin-top:8px;
}
.complete-check{
  display:flex;
  align-items:flex-start;
  gap:8px;
  cursor:pointer;
}
.complete-check input{
  margin-top:2px;
}
.complete-check span{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.complete-check b{font-size:10px}
.complete-check small{font-size:8px;color:var(--muted)}
.complete-visibility{
  margin-top:10px;
}
.complete-after{
  display:flex;
  flex-direction:column;
  gap:3px;
  margin-top:14px;
  padding:10px 12px;
  border-radius:9px;
  background:#f4f5f6;
}
.complete-after b{font-size:9px}
.complete-after span{font-size:9px;color:var(--muted)}
.complete-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid var(--line);
}
@media(max-width:620px){
  .work-link-row,.work-upload-row{grid-template-columns:1fr!important}
  .work-completed-banner{align-items:flex-start;flex-direction:column}
  .complete-footer{align-items:stretch;flex-direction:column-reverse}
  .complete-footer .btn{width:100%}
}

/* =========================================================
   v1.6.9 — Clear Final Output source selector
   ========================================================= */
.complete-source-toggle{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin:8px 0 10px;
}
.complete-source-toggle label{position:relative}
.complete-source-toggle input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.complete-source-toggle span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:7px 9px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
  font-size:9px;
  font-weight:800;
  cursor:pointer;
  text-align:center;
}
.complete-source-toggle input:checked+span{
  border-color:#17191d;
  box-shadow:0 0 0 1px #17191d inset;
  background:#f4f5f6;
}
.complete-source-panel{
  padding:10px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
}
.complete-source-panel[hidden],
.complete-visibility[hidden]{
  display:none!important;
}
.complete-source-panel .field{margin:0}
.complete-source-panel input[type="file"],
.complete-source-panel input[type="url"],
.complete-source-panel select{
  min-height:40px;
}
.complete-final-hint{
  margin-top:7px;
}
@media(max-width:620px){
  .complete-source-toggle{grid-template-columns:1fr}
}

.complete-note{
  margin-bottom:12px;
  padding:9px 11px;
  border-radius:9px;
  background:#f4f5f6;
  font-size:9px;
  color:var(--muted);
}

/* =========================================================
   v1.6.12 — Work visibility, Calendar and Files polish
   ========================================================= */
.work-status-quick{
  display:flex;
  align-items:center;
  gap:6px;
  margin:8px 0 10px;
}
.work-status-quick a{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:6px 10px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:#4d555e;
  text-decoration:none;
  font-size:9px;
  font-weight:800;
}
.work-status-quick a.active{
  background:#17191d;
  border-color:#17191d;
  color:#fff;
}
.calendar-item.completed{
  opacity:.58;
  text-decoration:none;
}
.work-file-details{
  padding:0!important;
  overflow:hidden;
}
.work-file-details>summary{
  list-style:none;
  cursor:pointer;
  padding:12px 14px;
  font-size:10px;
  font-weight:800;
  background:#fff;
}
.work-file-details>summary::-webkit-details-marker{display:none}
.work-file-details[open]>summary{
  border-bottom:1px solid var(--line);
}
.work-file-details .work-file-simple{
  padding:12px 14px 14px;
}
.asset-preview-button .asset-image-fallback{
  min-height:132px;
  width:100%;
  align-items:center;
  justify-content:center;
  background:#eef0f2;
  color:#7a838d;
}
.asset-preview-button .asset-image-fallback:not([hidden]){
  display:flex;
}

/* v1.6.14 — Country / Dealer modal save state */
.market-save-message{
  margin-top:6px;
  padding:6px 8px;
  border-radius:7px;
  background:#f4f5f6;
  color:#5e6770;
  line-height:1.4;
}
#marketSaveBtn:disabled{
  opacity:.65;
  cursor:wait;
}

/* =========================================================
   v1.6.16 — Meeting Notes / Follow-up
   ========================================================= */
.meeting-source-note{
  margin:8px 0 12px;
  padding:10px 12px;
  border:1px solid #e2e5e8;
  border-radius:10px;
  background:#f7f8f9;
  color:#66707a;
  font-size:10px;
}
.meeting-search{margin-bottom:14px}
.meeting-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.meeting-card{
  display:grid;
  grid-template-columns:86px minmax(0,1fr);
  gap:14px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  color:inherit;
  text-decoration:none;
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;
}
.meeting-card:hover{
  transform:translateY(-1px);
  border-color:#cdd2d7;
  box-shadow:0 8px 24px rgba(20,28,36,.06);
}
.meeting-card-date{
  min-height:82px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  border-radius:12px;
  background:#17191d;
  color:#fff;
}
.meeting-card-date b{font-size:26px;line-height:1}
.meeting-card-date span{margin-top:6px;font-size:9px;opacity:.78}
.meeting-card-body h3{margin:0 0 7px;font-size:15px}
.meeting-card-body p{margin:0 0 12px;color:#66707a;font-size:10px;line-height:1.5}
.meeting-card-meta{display:flex;gap:6px;flex-wrap:wrap}
.meeting-card-meta span{
  padding:4px 7px;border-radius:999px;background:#f2f3f4;color:#5e6770;font-size:8px;font-weight:700
}
.meeting-main-form{margin-bottom:14px}
.meeting-form-footer{
  display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)
}
.meeting-section{margin-top:14px}
.meeting-section .section-head{margin:0 0 10px}
.meeting-section .section-head p{margin:3px 0 0;color:#77808a;font-size:9px}
.meeting-action-list,.meeting-date-list{display:grid;gap:8px}
.meeting-action-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 150px 32px;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-left:4px solid #9aa2aa;
  border-radius:10px;
  background:#fff;
}
.meeting-action-row.status-open{border-left-color:#526f86}
.meeting-action-row.status-doing{border-left-color:#d47700}
.meeting-action-row.status-done{border-left-color:#16834a;opacity:.72}
.meeting-action-row.status-cancelled{border-left-color:#c92a31;opacity:.62}
.meeting-action-main>b{font-size:11px}
.meeting-action-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}
.meeting-action-meta span,.meeting-action-meta a{
  font-size:8px;color:#68727c;text-decoration:none
}
.meeting-action-meta a{color:#17191d;font-weight:700}
.meeting-action-status select{min-height:32px;font-size:9px}
.meeting-row-delete{
  width:30px;height:30px;border:1px solid #e1e4e7;border-radius:8px;background:#fff;color:#8a929a;cursor:pointer
}
.meeting-row-delete:hover{border-color:#e7b6ba;color:#c92a31}
.meeting-add-details{margin-top:10px}
.meeting-add-details>summary{
  list-style:none;width:max-content;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer;font-size:9px;font-weight:800
}
.meeting-add-details>summary::-webkit-details-marker{display:none}
.meeting-add-form{margin-top:10px;padding:12px;border:1px dashed #d8dde1;border-radius:10px;background:#fafbfb}
.meeting-date-row{
  display:grid;grid-template-columns:70px minmax(0,1fr) 32px;align-items:center;gap:10px;
  padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff
}
.meeting-date-box{
  min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:9px;background:#f2f3f4
}
.meeting-date-box b{font-size:18px}.meeting-date-box span{font-size:8px;color:#6a737c}
.meeting-date-copy{display:flex;flex-direction:column;gap:3px}
.meeting-date-copy>b{font-size:11px}.meeting-date-copy>span{font-size:9px;color:#68727c}
.meeting-date-copy>a{font-size:8px;font-weight:700;color:#17191d;text-decoration:none}
.meeting-danger{margin-top:14px;display:flex;justify-content:flex-end}
.calendar-item.calendar-important{
  background:#17191d!important;color:#fff!important;border-color:#17191d!important;font-weight:800
}
.calendar-item.calendar-followup{
  background:#fff7eb!important;color:#a65b00!important;border-color:#f0d1a7!important
}
@media(max-width:900px){
  .meeting-grid{grid-template-columns:1fr}
  .meeting-card{grid-template-columns:70px minmax(0,1fr)}
  .meeting-action-row{grid-template-columns:1fr}
  .meeting-action-status{width:100%}
  .meeting-action-status select{width:100%}
}

/* v1.6.17 — Meeting participant multi-select */
.meeting-participant-picker{display:grid;gap:8px}
.meeting-multi-select{position:relative}
.meeting-multi-select>summary{
  list-style:none;
  min-height:40px;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:#fff;
  cursor:pointer;
}
.meeting-multi-select>summary::-webkit-details-marker{display:none}
.meeting-multi-select>summary [data-participant-summary]{
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#30363c
}
.meeting-select-caret{color:#69717a}
.meeting-multi-menu{
  position:absolute;z-index:70;top:calc(100% + 5px);left:0;right:0;
  max-height:240px;overflow:auto;padding:6px;
  border:1px solid #dfe3e7;border-radius:10px;background:#fff;
  box-shadow:0 12px 30px rgba(20,28,36,.12);
}
.meeting-multi-menu label{
  display:flex;align-items:center;gap:8px;padding:8px 9px;border-radius:7px;cursor:pointer
}
.meeting-multi-menu label:hover{background:#f4f5f6}
.meeting-multi-menu input{margin:0}
.meeting-external-details>summary{
  list-style:none;width:max-content;padding:6px 8px;border:1px solid var(--line);
  border-radius:8px;background:#fff;cursor:pointer;font-size:9px;font-weight:800
}
.meeting-external-details>summary::-webkit-details-marker{display:none}
.meeting-external-box{
  margin-top:8px;padding:10px;border:1px dashed #d8dde1;border-radius:9px;background:#fafbfb
}
.meeting-external-box label{display:block;font-size:9px;font-weight:800;margin-bottom:5px}
.meeting-external-box textarea{width:100%}
.meeting-external-box small{display:block;margin-top:5px;color:#76808a;font-size:8px}

/* =========================================================
   v1.6.18 — Meeting participant picker redesign
   ========================================================= */
.meeting-participant-picker{display:grid;gap:8px}
.meeting-multi-select{position:relative}
.meeting-multi-select>summary{
  list-style:none;
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:6px 10px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
  cursor:pointer;
}
.meeting-multi-select>summary::-webkit-details-marker{display:none}
.meeting-multi-select[open]>summary{border-color:#aeb5bc;box-shadow:0 0 0 2px rgba(23,25,29,.03)}
.meeting-participant-summary-wrap{
  display:flex;
  align-items:center;
  gap:5px;
  flex-wrap:wrap;
  min-width:0;
  flex:1;
}
.meeting-placeholder{color:#7b838c;font-size:10px}
.meeting-selected-chips{display:flex;flex-wrap:wrap;gap:5px;min-width:0}
.meeting-person-chip{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 8px;
  border:1px solid #dfe3e7;
  border-radius:999px;
  background:#f7f8f9;
  color:#252b31;
  font-size:9px;
  font-weight:700;
}
.meeting-select-caret{color:#6c747d;font-size:11px}
.meeting-multi-menu{
  position:absolute;
  z-index:90;
  top:calc(100% + 6px);
  left:0;
  width:min(520px,100%);
  max-height:330px;
  overflow:hidden;
  border:1px solid #dfe3e7;
  border-radius:11px;
  background:#fff;
  box-shadow:0 14px 36px rgba(20,28,36,.14);
}
.meeting-multi-tools{
  position:sticky;
  top:0;
  z-index:2;
  padding:9px;
  border-bottom:1px solid #eceef0;
  background:#fff;
}
.meeting-participant-search{
  width:100%;
  min-height:36px!important;
  padding:7px 10px!important;
  border-radius:8px!important;
}
.meeting-multi-actions{
  display:flex;
  align-items:center;
  gap:6px;
  margin-top:7px;
}
.meeting-multi-actions button{
  border:0;
  background:transparent;
  padding:3px 0;
  color:#31383f;
  font-size:8px;
  font-weight:800;
  cursor:pointer;
}
.meeting-multi-actions button+button:before{
  content:"·";
  margin-right:6px;
  color:#9aa1a8;
}
.meeting-multi-actions span{
  margin-left:auto;
  color:#7a828b;
  font-size:8px;
}
.meeting-participant-options{
  max-height:250px;
  overflow:auto;
  padding:5px;
}
.meeting-participant-option{
  min-height:48px;
  display:grid!important;
  grid-template-columns:32px minmax(0,1fr) 20px;
  align-items:center;
  gap:9px!important;
  padding:6px 8px!important;
  border-radius:8px!important;
  cursor:pointer;
}
.meeting-participant-option:hover{background:#f6f7f8}
.meeting-participant-option.selected{background:#f2f4f5}
.meeting-participant-avatar{
  width:30px;height:30px;
  display:grid;place-items:center;
  border-radius:50%;
  background:#eef0f2;
  color:#4b545d;
  font-size:9px;
  font-weight:900;
}
.meeting-participant-copy{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:2px;
}
.meeting-participant-copy b{
  font-size:10px;
  font-weight:800;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.meeting-participant-copy small{
  color:#7b838c;
  font-size:8px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.meeting-participant-option input{
  justify-self:end;
  margin:0!important;
  width:15px;
  height:15px;
}
.meeting-external-details>summary{
  list-style:none;
  width:max-content;
  padding:6px 8px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  cursor:pointer;
  font-size:9px;
  font-weight:800;
}
.meeting-external-details>summary::-webkit-details-marker{display:none}
.meeting-external-box{
  max-width:520px;
  margin-top:8px;
  padding:10px;
  border:1px dashed #d8dde1;
  border-radius:9px;
  background:#fafbfb;
}
.meeting-external-box label{display:block;font-size:9px;font-weight:800;margin-bottom:5px}
.meeting-external-box textarea{width:100%}
.meeting-external-box small{display:block;margin-top:5px;color:#76808a;font-size:8px}
@media(max-width:700px){
  .meeting-multi-menu{width:100%}
}

/* =========================================================
   v1.6.19 — External participant dynamic rows
   ========================================================= */
.meeting-external-box{
  max-width:560px;
}
.meeting-external-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}
.meeting-external-head label{
  margin:0 0 3px;
}
.meeting-external-head small{
  margin:0;
}
.meeting-external-add{
  width:32px;
  height:32px;
  flex:0 0 32px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  color:#22282e;
  font-size:16px;
  line-height:1;
  cursor:pointer;
}
.meeting-external-add:hover{
  border-color:#bfc5ca;
  background:#f7f8f9;
}
.meeting-external-list{
  display:grid;
  gap:7px;
}
.meeting-external-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 34px;
  align-items:center;
  gap:7px;
}
.meeting-external-row input{
  min-height:38px;
}
.meeting-external-remove{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:1px solid #e1e4e7;
  border-radius:8px;
  background:#fff;
  color:#8a929a;
  cursor:pointer;
}
.meeting-external-remove:hover{
  border-color:#e6b3b7;
  color:#c92a31;
  background:#fff8f8;
}

/* =========================================================
   v1.6.20 — Selected participant rail
   ========================================================= */
.meeting-selected-rail{
  display:flex;
  align-items:flex-start;
  gap:9px;
  padding:8px 10px;
  border:1px solid #e2e5e8;
  border-radius:9px;
  background:#fafbfb;
}
.meeting-selected-rail[hidden]{display:none!important}
.meeting-selected-rail-label{
  flex:0 0 auto;
  padding-top:4px;
  color:#69727b;
  font-size:8px;
  font-weight:800;
}
.meeting-selected-rail-chips{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}

/* =========================================================
   v1.6.21 — External participants: horizontal chips
   ========================================================= */
.meeting-external-inline{
  max-width:none!important;
  padding:10px!important;
}
.meeting-external-inline .meeting-external-head{
  margin-bottom:8px!important;
}
.meeting-external-inline-wrap{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
}
.meeting-external-chips{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.meeting-external-chip{
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:32px;
  padding:4px 6px 4px 10px;
  border:1px solid #dfe3e7;
  border-radius:999px;
  background:#fff;
  color:#242a30;
  font-size:9px;
  font-weight:700;
}
.meeting-external-chip button{
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:50%;
  background:#f2f3f4;
  color:#7a828a;
  cursor:pointer;
}
.meeting-external-chip button:hover{
  background:#fff0f1;
  color:#c92a31;
}
.meeting-external-entry{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:250px;
  flex:0 1 360px;
}
.meeting-external-entry input{
  min-height:34px!important;
  flex:1;
}
.meeting-external-entry .meeting-external-add{
  width:34px;
  height:34px;
  flex:0 0 34px;
}

/* =========================================================
   v1.6.22 — Standalone Calendar
   ========================================================= */
.calendar-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:12px;
}
.calendar-filter-pills{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.calendar-filter-pills a{
  padding:6px 9px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:#59616a;
  text-decoration:none;
  font-size:9px;
  font-weight:800;
}
.calendar-filter-pills a.active{
  background:#17191d;
  border-color:#17191d;
  color:#fff;
}
.calendar-month-head{
  display:grid;
  grid-template-columns:40px 1fr 40px;
  align-items:center;
  gap:8px;
  margin:10px 0;
}
.calendar-month-head h2{
  margin:0;
  text-align:center;
  font-size:18px;
}
.calendar-legend{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin:0 0 10px;
  color:#69727b;
  font-size:8px;
}
.calendar-legend span{display:inline-flex;align-items:center;gap:5px}
.calendar-legend i{
  width:8px;height:8px;border-radius:50%;
  display:inline-block;background:#ef2532;
}
.calendar-legend .legend-work{background:#ef2532}
.calendar-legend .legend-meeting{background:#3B82F6}
.calendar-legend .legend-event{background:#8B5CF6}
.calendar-legend .legend-reminder{background:#F59E0B}
.calendar-legend .legend-visit{background:#24B36B}

.standalone-calendar{
  border:1px solid var(--line);
  border-radius:14px;
  overflow:hidden;
  background:#fff;
}
.standalone-calendar .calendar-weekday{
  padding:8px 6px;
  background:#f6f7f8;
  border-bottom:1px solid var(--line);
  text-align:center;
  font-size:8px;
  font-weight:900;
  color:#68717a;
}
.standalone-calendar .calendar-cell{
  min-height:126px;
  padding:7px;
  background:#fff;
  border-right:1px solid #e6e9eb;
  border-bottom:1px solid #e6e9eb;
}
.standalone-calendar .calendar-cell.muted{background:#fafbfb;color:#a7adb3}
.standalone-calendar .calendar-date{
  margin-bottom:5px;
  font-size:9px;
  font-weight:900;
}
.calendar-cell-items{display:grid;gap:4px}
.calendar-line{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  padding:4px 6px;
  border-radius:6px;
  text-decoration:none;
  font-size:8px;
  line-height:1.25;
  border:1px solid transparent;
}
.calendar-line span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.calendar-line small{flex:0 0 auto;font-size:7px;opacity:.75}
.cal-work{background:#fff3f4;color:#b4202a;border-color:#f6c3c6}
.cal-work.completed{opacity:.55;text-decoration:line-through}
.cal-event.type-meeting{background:#f3f7ff;color:#245fae;border-color:#bfd3f7}
.cal-event.type-event{background:#f7f3ff;color:#6941b7;border-color:#d9caf7}
.cal-event.type-reminder{background:#fff8eb;color:#9c6200;border-color:#f5d79e}
.cal-event.type-deadline{background:#fff2f2;color:#c53030;border-color:#f4b8b8}
.cal-event.type-visit{background:#f1faf5;color:#1c7e4b;border-color:#bce4cf}
.cal-event.type-other{background:#f5f6f7;color:#58616a;border-color:#dfe3e6}

.calendar-event-form{max-width:980px}
.calendar-all-day-row label{
  display:flex;align-items:center;gap:7px;
  font-weight:800;
}
.calendar-time-field.is-disabled{
  opacity:.45;
  pointer-events:none;
}
.calendar-event-footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid var(--line);
}

/* =========================================================
   v1.6.22 — Portfolio thumbnails
   ========================================================= */
.portfolio-card .portfolio-thumb{
  position:relative;
  height:160px;
  padding:0;
  overflow:hidden;
  border-radius:10px;
  background:#f2f3f4;
}
.portfolio-card .portfolio-thumb img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.portfolio-card .asset-thumb-fallback{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  color:#929aa2;
  font-weight:900;
  letter-spacing:.06em;
}
@media(max-width:900px){
  .calendar-toolbar{align-items:flex-start}
  .standalone-calendar{overflow-x:auto}
  .standalone-calendar.calendar-grid{min-width:820px}
}

/* =========================================================
   v1.6.23 — Quiet admin More menus
   ========================================================= */
.asset-card-menu-wrap{position:relative}
.card-more-menu,
.page-more-menu{position:relative;z-index:25}
.card-more-menu{
  position:absolute;
  top:9px;
  right:9px;
}
.card-more-menu>summary,
.page-more-menu>summary{
  list-style:none;
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border:1px solid #e1e4e7;
  border-radius:9px;
  background:rgba(255,255,255,.96);
  color:#59616a;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 2px 8px rgba(22,28,34,.05);
}
.card-more-menu>summary::-webkit-details-marker,
.page-more-menu>summary::-webkit-details-marker{display:none}
.card-more-menu>div,
.page-more-menu>div{
  position:absolute;
  right:0;
  top:38px;
  min-width:170px;
  padding:6px;
  border:1px solid #e2e5e8;
  border-radius:10px;
  background:#fff;
  box-shadow:0 12px 30px rgba(20,28,36,.12);
}
.card-more-menu a,
.card-more-menu button,
.page-more-menu a,
.page-more-menu button{
  width:100%;
  display:flex;
  align-items:center;
  padding:8px 9px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:#262c32;
  text-decoration:none;
  font:inherit;
  font-size:9px;
  text-align:left;
  cursor:pointer;
}
.card-more-menu a:hover,
.card-more-menu button:hover,
.page-more-menu a:hover,
.page-more-menu button:hover{background:#f5f6f7}
.card-more-menu form,
.page-more-menu form{margin:0}
.card-more-menu .danger-link,
.page-more-menu .danger-link{color:#d23a42}
.meeting-head-actions{align-items:center}
.page-more-menu>div{z-index:90}

/* =========================================================
   v1.6.24 — Reliable visible More menus
   ========================================================= */
.asset-card-menu-wrap,
.portfolio-card.asset-card-menu-wrap,
.meeting-card-wrap{
  position:relative!important;
  overflow:visible!important;
}
.card-more-menu{
  position:absolute!important;
  top:10px!important;
  right:10px!important;
  z-index:1200!important;
}
.card-more-menu>summary{
  width:34px!important;
  height:34px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid #d9dee3!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#32383e!important;
  font-size:16px!important;
  line-height:1!important;
  font-weight:900!important;
  box-shadow:0 4px 14px rgba(20,28,36,.10)!important;
  cursor:pointer!important;
}
.card-more-menu[open]>summary{
  border-color:#bcc3ca!important;
  box-shadow:0 5px 18px rgba(20,28,36,.14)!important;
}
.card-more-menu>div{
  z-index:1300!important;
  right:0!important;
  top:40px!important;
  min-width:180px!important;
}
.asset-preview-button,
.portfolio-thumb,
.meeting-card{
  position:relative;
  z-index:1;
}

/* Meeting list card wrapper keeps whole card clickable while More menu floats above it. */
.meeting-card-wrap{
  min-width:0;
}
.meeting-card-wrap>.meeting-card{
  height:100%;
}
.meeting-card-more{
  top:12px!important;
  right:12px!important;
}
.meeting-card-body{
  padding-right:42px;
}

/* =========================================================
   v1.6.25 — Title-row More menus + compact external participant
   ========================================================= */

.asset-title-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  min-width:0;
  margin-top:2px;
}
.asset-title-row>b{
  min-width:0;
  flex:1;
  line-height:1.35;
}
.card-more-inline{
  position:relative!important;
  top:auto!important;
  right:auto!important;
  flex:0 0 auto;
  z-index:40!important;
}
.card-more-inline>summary{
  width:30px!important;
  height:30px!important;
  border-radius:8px!important;
  font-size:15px!important;
  box-shadow:none!important;
  background:#fff!important;
}
.card-more-inline>div{
  top:35px!important;
  right:0!important;
  z-index:1200!important;
}
.portfolio-card .portfolio-thumb,
.asset-preview-button{
  margin-bottom:10px!important;
}

/* External participant stays quiet until Add is requested. */
.meeting-external-compact{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  margin-top:8px;
}
.meeting-external-trigger{
  min-height:30px;
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:5px 9px;
  border:1px solid #dfe3e7;
  border-radius:8px;
  background:#fff;
  color:#30363c;
  font-size:9px;
  font-weight:800;
  cursor:pointer;
}
.meeting-external-trigger:hover{
  background:#f7f8f9;
}
.meeting-external-entry[hidden]{
  display:none!important;
}
.meeting-external-entry{
  display:flex;
  align-items:center;
  gap:6px;
  flex:0 1 360px;
  min-width:260px;
}
.meeting-external-entry input{
  min-height:34px!important;
}
.meeting-external-cancel{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:1px solid #e1e4e7;
  border-radius:8px;
  background:#fff;
  color:#7d858e;
  cursor:pointer;
}
.meeting-external-cancel:hover{
  color:#c92a31;
  border-color:#efc1c4;
  background:#fff7f7;
}

/* =========================================================
   v1.6.26 — Quieter More buttons
   ========================================================= */
.card-more-menu>summary,
.page-more-menu>summary{
  box-shadow:0 1px 4px rgba(20,28,36,.04)!important;
}
.card-more-menu[open]>summary,
.page-more-menu[open]>summary{
  box-shadow:0 2px 6px rgba(20,28,36,.06)!important;
}
.card-more-inline>summary{
  box-shadow:none!important;
}

/* =========================================================
   v1.6.28 — Compact All-day Calendar Event UX
   ========================================================= */
.calendar-date-settings{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;
  gap:14px;
  align-items:end;
}
.calendar-date-settings .field{
  margin:0;
}
.calendar-all-day-toggle{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
  padding:0 2px 1px 6px;
  font-size:9px;
  font-weight:800;
  color:#3b4249;
  white-space:nowrap;
  cursor:pointer;
}
.calendar-all-day-toggle input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.calendar-all-day-toggle i{
  position:relative;
  width:38px;
  height:22px;
  flex:0 0 38px;
  border-radius:999px;
  background:#dfe3e7;
  transition:background .15s ease;
}
.calendar-all-day-toggle i:after{
  content:"";
  position:absolute;
  top:3px;
  left:3px;
  width:16px;
  height:16px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 3px rgba(20,28,36,.14);
  transition:transform .15s ease;
}
.calendar-all-day-toggle input:checked+i{
  background:#17191d;
}
.calendar-all-day-toggle input:checked+i:after{
  transform:translateX(16px);
}
.calendar-time-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:0;
}
.calendar-time-row[hidden]{
  display:none!important;
}
@media(max-width:760px){
  .calendar-date-settings{
    grid-template-columns:1fr;
  }
  .calendar-all-day-toggle{
    justify-content:flex-start;
  }
  .calendar-time-row{
    grid-template-columns:1fr;
  }
}

/* =========================================================
   v1.6.29 — Shared public language switch
   ========================================================= */
.public-lang-switch{
  display:flex;
  align-items:center;
  gap:4px;
  width:max-content;
  margin:0 0 12px auto;
  padding:3px;
  border:1px solid #e2e5e8;
  border-radius:9px;
  background:#fff;
}
.public-lang-switch a{
  min-width:34px;
  padding:5px 7px;
  border-radius:6px;
  color:#737b84;
  text-align:center;
  text-decoration:none;
  font-size:9px;
  font-weight:800;
}
.public-lang-switch a.active{
  background:#17191d;
  color:#fff;
}

/* =========================================================
   v1.6.30 — Meeting visibility + highlight editor + avatar cleanup
   ========================================================= */

.person-cell>img{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  border-radius:50%!important;
  object-fit:cover!important;
  display:block!important;
}
.person-cell>.person-fallback{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  border-radius:50%!important;
}

.meeting-participant-avatar.is-photo{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  border-radius:50%!important;
  object-fit:cover!important;
  display:block!important;
}

.meeting-readonly-note{
  margin:0 0 12px;
  padding:10px 12px;
  border:1px solid #dfe3e7;
  border-radius:10px;
  background:#f8f9fa;
  color:#626b74;
  font-size:9px;
  line-height:1.45;
}
.meeting-form-fieldset{
  border:0;
  padding:0;
  margin:0;
  min-width:0;
}
.meeting-main-form.is-readonly .meeting-form-fieldset{
  opacity:1;
}
.meeting-main-form.is-readonly input,
.meeting-main-form.is-readonly select,
.meeting-main-form.is-readonly textarea{
  color:#343a40;
  background:#f8f9fa;
}

.meeting-visibility-field{
  padding-top:2px;
}
.meeting-visibility-row{
  display:grid;
  grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);
  gap:12px;
  align-items:start;
}
.meeting-visibility-target{
  display:grid;
  gap:5px;
}
.meeting-visibility-target[hidden]{
  display:none!important;
}
.meeting-visibility-target label{
  font-size:8px;
  color:#67717a;
  font-weight:700;
}
.meeting-visibility-target select[multiple]{
  min-height:102px;
  padding:6px;
}
.meeting-visibility-target select[multiple] option{
  padding:7px 8px;
  border-radius:6px;
}
.meeting-visibility-chip{
  display:inline-flex;
  align-items:center;
  min-height:20px;
  padding:3px 7px;
  border:1px solid #e1e4e7;
  border-radius:999px;
  background:#f7f8f9;
  color:#67717a;
  font-size:8px;
  font-weight:700;
}

.meeting-summary-rich{
  margin-top:2px;
}
.meeting-summary-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:6px;
}
.meeting-summary-head>label{
  margin:0!important;
}
.meeting-highlight{
  position:relative;
  flex:0 0 auto;
}
.meeting-highlight-toggle{
  min-height:30px;
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:5px 9px;
  border:1px solid #dfe3e7;
  border-radius:8px;
  background:#fff;
  color:#394047;
  font-size:8px;
  font-weight:800;
  cursor:pointer;
}
.meeting-highlight-toggle:hover{
  background:#f7f8f9;
}
.meeting-highlight-palette{
  position:absolute;
  top:35px;
  right:0;
  z-index:80;
  display:flex;
  align-items:center;
  gap:6px;
  min-width:max-content;
  padding:8px;
  border:1px solid #e0e4e8;
  border-radius:10px;
  background:#fff;
  box-shadow:0 8px 24px rgba(20,28,36,.09);
}
.meeting-highlight-palette[hidden]{
  display:none!important;
}
.meeting-highlight-palette button{
  border:0;
  background:transparent;
  padding:0;
  cursor:pointer;
}
.meeting-highlight-palette button i{
  width:24px;
  height:24px;
  display:block;
  border-radius:7px;
  background:var(--hl);
  border:1px solid rgba(20,28,36,.08);
  transition:transform .12s ease,border-color .12s ease;
}
.meeting-highlight-palette button:hover i{
  transform:translateY(-1px);
  border-color:rgba(20,28,36,.22);
}
.meeting-highlight-palette .meeting-highlight-clear{
  min-height:26px;
  margin-left:3px;
  padding:4px 7px;
  border-left:1px solid #e6e8ea;
  color:#6a737c;
  font-size:8px;
  font-weight:700;
  white-space:nowrap;
}
.meeting-rich-editor{
  min-height:190px;
  max-height:420px;
  overflow:auto;
  width:100%;
  padding:12px 13px;
  border:1px solid #d9dde2;
  border-radius:9px;
  background:#fff;
  color:#17191d;
  font-size:14px;
  line-height:1.45;
  white-space:pre-wrap;
  outline:none;
}
.meeting-rich-editor[contenteditable="true"]:focus{
  border-color:#aeb6be;
  box-shadow:0 0 0 3px rgba(20,28,36,.035);
}
.meeting-rich-editor[contenteditable="false"]{
  background:#fff;
}
.meeting-rich-editor mark{
  color:inherit;
  border-radius:2px;
  padding:0 .04em;
}
.meeting-rich-editor mark[data-hl="yellow"]{background:#FFF3B0}
.meeting-rich-editor mark[data-hl="green"]{background:#DDF7E8}
.meeting-rich-editor mark[data-hl="blue"]{background:#DCEEFF}
.meeting-rich-editor mark[data-hl="purple"]{background:#E9E1FF}
.meeting-rich-editor mark[data-hl="pink"]{background:#FFE0E8}
.meeting-rich-editor mark[data-hl="peach"]{background:#FFE4C7}

@media(max-width:900px){
  .meeting-visibility-row{
    grid-template-columns:1fr;
  }
  .meeting-highlight-palette{
    right:auto;
    left:0;
    flex-wrap:wrap;
    min-width:250px;
  }
}

/* =========================================================
   v1.6.31 — Unified My Work workflow
   ========================================================= */
.workflow-create-mode{margin-top:2px}
.workflow-mode-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}
.workflow-mode-card{
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:9px;
  padding:11px 12px;
  border:1px solid #e0e3e6;
  border-radius:10px;
  background:#fff;
  cursor:pointer;
  transition:border-color .12s ease,background .12s ease;
}
.workflow-mode-card:hover{border-color:#bfc5ca;background:#fafbfb}
.workflow-mode-card:has(input:checked){
  border-color:#d71920;
  box-shadow:0 0 0 1px rgba(215,25,32,.05);
}
.workflow-mode-card.is-disabled{opacity:.48;cursor:not-allowed}
.workflow-mode-card input{margin-top:2px;accent-color:#d71920}
.workflow-mode-card span{display:grid;gap:3px}
.workflow-mode-card b{font-size:10px;color:#202428}
.workflow-mode-card small{font-size:8px;line-height:1.45;color:#737b83;font-weight:500}
.workflow-approver-field{
  padding:10px 12px;
  border-radius:10px;
  background:#fafbfc;
  border:1px solid #eceef0;
}
.workflow-approver-field[hidden]{display:none!important}

.workflow-panel{margin-bottom:14px}
.workflow-panel-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
}
.workflow-stage-line{display:flex;gap:7px;align-items:center;margin-top:5px;flex-wrap:wrap}
.workflow-type-badge,.workflow-inline-mode{
  display:inline-flex;
  align-items:center;
  border:1px solid #e2e5e8;
  border-radius:999px;
  background:#f7f8f9;
  color:#626b73;
  font-size:8px;
  font-weight:750;
  padding:3px 7px;
}
.workflow-inline-mode{margin-left:5px;vertical-align:middle;padding:2px 6px}
.workflow-type-badge.mode-request,.workflow-inline-mode.mode-request{background:#fff8e7;border-color:#f0dfae;color:#866415}
.workflow-type-badge.mode-assign,.workflow-inline-mode.mode-assign{background:#eef6ff;border-color:#d5e6f8;color:#426984}
.workflow-stage-badge{
  display:inline-flex;
  align-items:center;
  min-height:21px;
  padding:3px 7px;
  border-radius:999px;
  border:1px solid #e0e3e6;
  background:#f5f6f7;
  color:#5f6870;
  font-size:8px;
  font-weight:800;
  white-space:nowrap;
}
.workflow-stage-badge.stage-waiting_approval{background:#fff8e7;border-color:#f0dfae;color:#826313}
.workflow-stage-badge.stage-approved{background:#eef6ff;border-color:#cee1f4;color:#3f6988}
.workflow-stage-badge.stage-assigned{background:#f2efff;border-color:#ddd5fb;color:#655697}
.workflow-stage-badge.stage-in_progress{background:#edf7ff;border-color:#cee6f6;color:#326d90}
.workflow-stage-badge.stage-completed{background:#edf8f1;border-color:#cee8d8;color:#34714b}
.workflow-stage-badge.stage-rejected,.workflow-stage-badge.stage-cancelled{background:#fff0f1;border-color:#f1d1d4;color:#9a3d44}
.workflow-mini-meta{display:flex;gap:14px;flex-wrap:wrap;font-size:8px;color:#78818a}
.workflow-mini-meta b{color:#353b41}
.workflow-callout{
  margin-top:11px;
  padding:9px 11px;
  border-radius:8px;
  background:#f8f9fa;
  color:#68717a;
  font-size:9px;
}
.workflow-action-row{
  display:grid;
  grid-template-columns:minmax(180px,1fr) auto auto;
  gap:8px;
  align-items:center;
  margin-top:9px;
}
.workflow-action-row.compact{display:flex;justify-content:flex-end}
.workflow-action-row input,.workflow-action-row select{min-height:34px}
.danger-text{color:#a83f45!important}
.workflow-history{margin-top:11px;border-top:1px solid #eceef0;padding-top:9px}
.workflow-history summary{cursor:pointer;font-size:8px;font-weight:800;color:#68717a}
.workflow-history-list{display:grid;gap:8px;margin-top:10px}
.workflow-history-item{display:grid;grid-template-columns:8px 1fr;gap:8px;align-items:start}
.workflow-history-dot{width:6px;height:6px;margin-top:4px;border-radius:50%;background:#c4c9ce}
.workflow-history-item div{display:grid;gap:2px}
.workflow-history-item b{font-size:9px}
.workflow-history-item small{font-size:8px;color:#848b92}
.workflow-history-item p{margin:2px 0 0;font-size:8px;color:#666f77}
.work-status-stack{display:flex;flex-direction:column;align-items:flex-start;gap:4px}

@media(max-width:850px){
  .workflow-mode-grid{grid-template-columns:1fr}
  .workflow-panel-head{flex-direction:column}
  .workflow-action-row{grid-template-columns:1fr}
}

/* v1.6.32 Request Work UX cleanup */
.workflow-approver-field small{
  display:block;
  margin-top:5px;
  color:#7a838c;
  font-size:8px;
}
[data-workflow-owner][hidden],
[data-workflow-contributors][hidden]{
  display:none!important;
}

/* =========================================================
   v1.6.33 — Minimal Work creation selector + single list status
   ========================================================= */

.workflow-create-mode{
  margin-top:0;
}
.workflow-mode-grid,
.workflow-mode-card{
  display:none!important;
}

.workflow-mode-segment{
  display:inline-flex;
  align-items:center;
  width:auto;
  max-width:100%;
  padding:3px;
  border:1px solid #dfe3e7;
  border-radius:9px;
  background:#f5f6f7;
  gap:2px;
}
.workflow-mode-segment label{
  position:relative;
  margin:0;
  cursor:pointer;
}
.workflow-mode-segment input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.workflow-mode-segment label>span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:5px 12px;
  border-radius:6px;
  color:#626a72;
  background:transparent;
  font-size:9px;
  font-weight:750;
  line-height:1.2;
  white-space:nowrap;
  transition:background .12s ease,color .12s ease,box-shadow .12s ease;
}
.workflow-mode-segment label:hover>span{
  color:#252a2f;
}
.workflow-mode-segment input:checked+span{
  background:#fff;
  color:#1f2327;
  box-shadow:0 1px 3px rgba(20,28,36,.08);
}
.workflow-mode-segment label.is-disabled{
  opacity:.4;
  cursor:not-allowed;
}
.workflow-mode-help{
  min-height:17px;
  margin-top:5px;
  color:#7a838c;
  font-size:8px;
  line-height:1.4;
}

.work-status-stack{
  display:block;
}

@media(max-width:700px){
  .workflow-mode-segment{
    display:grid;
    grid-template-columns:1fr;
    width:100%;
  }
  .workflow-mode-segment label>span{
    justify-content:flex-start;
  }
}

/* =========================================================
   v1.6.34 — Asset / Portfolio categories and filters
   ========================================================= */
.library-category-tabs{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  margin:0 0 10px;
}
.library-category-tabs a{
  display:inline-flex;
  align-items:center;
  min-height:29px;
  padding:5px 10px;
  border:1px solid #dfe3e7;
  border-radius:999px;
  background:#fff;
  color:#626a72;
  font-size:8px;
  font-weight:750;
  text-decoration:none;
}
.library-category-tabs a:hover{border-color:#bfc5ca;color:#22272b}
.library-category-tabs a.active{
  border-color:#202428;
  background:#202428;
  color:#fff;
}

.library-filter-panel{
  display:grid;
  gap:8px;
  margin-bottom:14px;
}
.library-more-filters{
  border-top:1px solid #eceef0;
  padding-top:8px;
}
.library-more-filters summary{
  cursor:pointer;
  color:#68717a;
  font-size:8px;
  font-weight:800;
  width:max-content;
}
.library-filter-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:9px;
  margin-top:9px;
}
.library-filter-panel .actions{
  margin-top:9px;
}
.library-category-chip{
  background:#f6f7f8!important;
  border-color:#dfe3e6!important;
  color:#4f5962!important;
  font-weight:750;
}
.complete-portfolio-options{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:10px;
}
.complete-portfolio-options[hidden]{
  display:none!important;
}
@media(max-width:1000px){
  .library-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  .library-category-tabs{
    overflow-x:auto;
    flex-wrap:nowrap;
    padding-bottom:3px;
  }
  .library-category-tabs a{flex:0 0 auto}
  .library-filter-grid,.complete-portfolio-options{grid-template-columns:1fr}
}

/* =========================================================
   v1.6.35 — Two-level Asset category / subtype navigation
   ========================================================= */
.library-subtype-tabs{
  display:flex;
  align-items:center;
  gap:17px;
  min-height:30px;
  margin:-2px 0 10px;
  padding:0 2px;
  overflow-x:auto;
  scrollbar-width:none;
}
.library-subtype-tabs::-webkit-scrollbar{display:none}
.library-subtype-tabs a{
  position:relative;
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  min-height:28px;
  color:#747d85;
  font-size:8px;
  font-weight:700;
  text-decoration:none;
  white-space:nowrap;
}
.library-subtype-tabs a:hover{color:#24292e}
.library-subtype-tabs a.active{
  color:#202428;
  font-weight:850;
}
.library-subtype-tabs a.active::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:2px;
  border-radius:2px;
  background:#d71920;
}
#assetCategorySelect,
#assetSubtypeSelect{
  width:100%;
}
@media(max-width:650px){
  .library-subtype-tabs{gap:14px}
}

/* v1.6.36 — Chat Hub + Portfolio subtype */
.chat-hub-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 0;padding:0 2px}
.chat-hub-toolbar>div:first-child{display:flex;align-items:baseline;gap:10px;min-width:0}.chat-hub-toolbar b{font-size:15px;color:#202428}.chat-hub-toolbar span{font-size:9px;color:#8a9299}
.chat-hub-actions{display:flex;align-items:center;gap:8px}.chat-admin-menu{position:relative}.chat-admin-menu summary{list-style:none;width:34px;height:34px;display:grid;place-items:center;border:1px solid #e2e5e8;border-radius:9px;cursor:pointer;font-weight:900}.chat-admin-menu summary::-webkit-details-marker{display:none}.chat-admin-menu>div{position:absolute;right:0;top:40px;z-index:50;background:#fff;border:1px solid #e2e5e8;border-radius:10px;box-shadow:0 10px 28px rgba(0,0,0,.09);min-width:180px;padding:6px}.chat-admin-menu a{display:block;padding:9px 10px;border-radius:7px;text-decoration:none;color:#30363b;font-size:10px}.chat-admin-menu a:hover{background:#f5f6f7}
.chat-audit-banner{display:flex;align-items:center;gap:8px;margin:12px 0;padding:10px 12px;border:1px solid #dde4eb;background:#f7f9fb;border-radius:10px;font-size:10px;color:#58616a}.chat-audit-banner b{color:#27313a}.chat-audit-banner span{margin-left:auto}
.chat-hub-grid{grid-template-columns:minmax(180px,220px) minmax(0,1fr) minmax(190px,230px)!important}.chat-room-sidebar{background:#fff;border:1px solid #e5e7ea;border-radius:14px;padding:9px;align-self:start;max-height:760px;overflow:auto}
.chat-room-section{padding:5px 0 9px}.chat-room-section h4{margin:4px 8px 5px;font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:#9aa1a8}.chat-room-section>a{display:flex;align-items:center;gap:8px;padding:8px;border-radius:9px;text-decoration:none;color:#333;transition:.15s}.chat-room-section>a:hover{background:#f6f7f8}.chat-room-section>a.active{background:#fff0f1;color:#b9141a}.chat-room-icon{width:24px;height:24px;border-radius:7px;background:#f2f3f5;display:grid;place-items:center;font-size:11px;flex:0 0 auto}.chat-room-section>a.active .chat-room-icon{background:#ffe0e2}.chat-room-section>a>div{min-width:0;display:flex;flex-direction:column}.chat-room-section b{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-room-section small{font-size:8px;color:#9aa1a8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.chat-room-empty{display:block;padding:6px 8px;font-size:8px;color:#adb3b8}
.chat-type-segment{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:4px;background:#f3f4f5;border-radius:10px;margin:12px 0}.chat-type-segment input{display:none}.chat-type-segment span{display:grid;place-items:center;min-height:34px;border-radius:8px;font-size:9px;font-weight:750;cursor:pointer}.chat-type-segment input:checked+span{background:#fff;color:#c6171d;box-shadow:0 1px 5px rgba(0,0,0,.07)}
.chat-member-picker{display:grid;grid-template-columns:1fr 1fr;gap:6px;max-height:230px;overflow:auto;padding:6px;border:1px solid #e4e7ea;border-radius:10px}.chat-member-picker label{display:flex;align-items:center;gap:7px;padding:6px;border-radius:7px;font-size:9px}.chat-member-picker label:hover{background:#f6f7f8}.chat-room-presence{font-size:8px;color:#6e7a83}.chat-deleted{font-style:italic;color:#9aa1a8}
.chat-admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.chat-admin-stats .metric-card{display:flex;flex-direction:column;gap:4px}.chat-admin-stats .metric-card span,.chat-admin-stats .metric-card small{font-size:9px;color:#858e96}.chat-admin-stats .metric-card b{font-size:22px}.chat-audit-list{display:flex;flex-direction:column}.chat-audit-list>a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 4px;border-bottom:1px solid #f0f1f2;text-decoration:none;color:#30363b}.chat-audit-list>a:last-child{border-bottom:0}.chat-audit-list>a>div{display:flex;flex-direction:column;gap:3px}.chat-audit-list b{font-size:10px}.chat-audit-list span{font-size:8px;color:#8d959c}.chat-cleanup-panel{margin-top:16px}.chat-cleanup-panel>form{display:grid;grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) auto;gap:10px;align-items:end;margin-top:14px}.portfolio-subtype-tabs{margin-top:-2px}
@media(max-width:1100px){.chat-hub-grid{grid-template-columns:200px minmax(0,1fr)!important}.chat-hub-grid>aside{grid-column:1/-1}}
@media(max-width:760px){.chat-hub-grid{grid-template-columns:1fr!important}.chat-room-sidebar{max-height:none;display:flex;gap:8px;overflow-x:auto}.chat-room-section{min-width:170px}.chat-hub-toolbar{align-items:flex-start}.chat-hub-toolbar>div:first-child{flex-direction:column;gap:2px}.chat-admin-stats{grid-template-columns:1fr 1fr}.chat-cleanup-panel>form{grid-template-columns:1fr}.chat-member-picker{grid-template-columns:1fr}}

/* =========================================================
   v1.6.37 — Chat reliability / room actions
   ========================================================= */
.chat-room-menu>div form{margin:0}
.chat-room-menu>div button,
.chat-room-menu>div a{
  width:100%;
  display:block;
  border:0;
  background:transparent;
  color:#30363b;
  text-align:left;
  padding:9px 10px;
  border-radius:7px;
  font:inherit;
  font-size:10px;
  cursor:pointer;
  text-decoration:none;
}
.chat-room-menu>div button:hover,
.chat-room-menu>div a:hover{background:#f5f6f7}
.chat-compose{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px 10px;
  align-items:stretch;
}
.chat-compose .chat-attachment-preview,
.chat-compose .mention-menu,
.chat-compose .chat-compose-meta,
.chat-compose .sticker-panel{grid-column:1/-1}
.chat-compose textarea{
  min-height:62px;
  max-height:160px;
  resize:vertical;
}
.chat-compose .chat-send-btn{
  min-width:88px;
  align-self:stretch;
}
.chat-compose textarea:disabled{background:#f6f7f8;color:#8d959c}
@media(max-width:650px){
  .chat-compose{grid-template-columns:1fr}
  .chat-compose .chat-send-btn{min-height:42px}
}

/* =========================================================
   v1.6.38 — New Chat pane reliability
   ========================================================= */
#newChatForm [data-chat-pane][hidden]{display:none!important}
#newChatForm [data-chat-pane]{display:block}
#newChatForm .chat-type-segment label{min-width:0}
#newChatForm .chat-type-segment span{white-space:nowrap}

/* =========================================================
   v1.6.39 — Chat room header + polished New Chat
   ========================================================= */
.chat-new-dialog-card{
  width:min(720px,calc(100vw - 32px))!important;
  border-radius:18px!important;
  padding:22px!important;
}
.chat-new-dialog-card .dialog-head{margin-bottom:14px}
.chat-new-dialog-card .dialog-head h2{font-size:22px;line-height:1.15;margin:0 0 5px}
.chat-new-dialog-card .dialog-head p{margin:0;color:#7f8790;font-size:11px}
.chat-dialog-close{width:38px;height:38px;padding:0;border-radius:10px}
.chat-new-dialog-card .chat-type-segment{
  margin:12px 0 16px;
  padding:4px;
  border-radius:12px;
  background:#f2f3f4;
}
.chat-new-dialog-card .chat-type-segment span{min-height:38px;font-size:10px}
.chat-new-pane>.field>label{font-size:10px;font-weight:800;color:#4f5963;margin-bottom:6px}
.chat-new-pane input,
.chat-new-pane select{min-height:44px!important;border-radius:10px!important}
.chat-member-topline{display:flex;align-items:center;justify-content:space-between;margin:14px 0 7px}
.chat-member-topline label{font-size:10px;font-weight:850;color:#4f5963}
.chat-member-topline span{font-size:9px;color:#8c949c}
.chat-selected-chips{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}
.chat-selected-chips:empty{display:none}
.chat-selected-chip{
  border:1px solid #e2e5e8;background:#f7f8f9;color:#40474e;border-radius:999px;
  min-height:27px;padding:5px 9px;font-size:9px;font-weight:700;cursor:pointer;
}
.chat-selected-chip:hover{background:#fff0f1;border-color:#f0c5c8;color:#bd1a20}
.chat-people-search{display:grid;grid-template-columns:24px 1fr;align-items:center;border:1px solid #e2e5e8;border-radius:10px;padding:0 10px;margin-bottom:8px;background:#fff}
.chat-people-search span{color:#8e969d;font-size:17px}
.chat-people-search input{border:0!important;box-shadow:none!important;padding-left:0!important;min-height:40px!important}
.chat-member-list{
  border:1px solid #e5e7ea;border-radius:12px;background:#fff;overflow:auto;
  max-height:290px;padding:4px;
}
.chat-member-row{
  display:grid!important;grid-template-columns:34px minmax(0,1fr) 20px!important;align-items:center!important;
  gap:9px!important;padding:8px 9px!important;border-radius:9px!important;margin:0!important;cursor:pointer;
}
.chat-member-row:hover{background:#f7f8f9}
.chat-member-row[hidden]{display:none!important}
.chat-member-avatar{
  width:34px;height:34px;border-radius:50%;background:#eef0f2;display:grid;place-items:center;
  overflow:hidden;font-size:10px;font-weight:850;color:#4b535b;
}
.chat-member-avatar img{width:100%;height:100%;object-fit:cover}
.chat-member-copy{min-width:0;display:flex;flex-direction:column}
.chat-member-copy b{font-size:10px;color:#252a2f;line-height:1.25}
.chat-member-copy small{font-size:8px;color:#90979e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.chat-member-row input[type="checkbox"]{width:16px!important;height:16px!important;margin:0!important;justify-self:end}
.chat-new-footer{display:flex;gap:8px;align-items:center;margin-top:16px}
.chat-new-footer .btn{min-height:40px;border-radius:10px}
.chat-room-header{
  min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:10px 12px;border-bottom:1px solid #eceef0;background:#fff;
}
.chat-room-heading{display:flex;align-items:center;gap:9px;min-width:0}
.chat-room-heading-icon{width:32px;height:32px;border-radius:9px;background:#f2f3f5;display:grid;place-items:center;font-size:13px;flex:0 0 auto}
.chat-room-heading h3{font-size:12px;line-height:1.2;margin:0;color:#22272c}
.chat-room-heading p{font-size:8px;color:#929aa1;margin:3px 0 0}
.chat-room-header-menu{position:relative}
.chat-room-header-menu>summary{
  list-style:none;width:34px;height:34px;border:1px solid #e1e4e7;border-radius:9px;
  display:grid;place-items:center;cursor:pointer;font-weight:900;background:#fff;
}
.chat-room-header-menu>summary::-webkit-details-marker{display:none}
.chat-room-header-menu>div{
  position:absolute;right:0;top:39px;z-index:60;min-width:190px;padding:6px;
  border:1px solid #e2e5e8;border-radius:10px;background:#fff;box-shadow:0 10px 28px rgba(20,28,36,.10)
}
.chat-room-header-menu form{margin:0}
.chat-room-header-menu button{
  display:block;width:100%;border:0;background:transparent;text-align:left;padding:9px 10px;
  border-radius:7px;font-size:9px;color:#30363b;cursor:pointer;
}
.chat-room-header-menu button:hover{background:#f5f6f7}
.chat-room-header-menu button.danger-link{color:#c52a31}
.chat-current-members{display:flex;flex-direction:column;gap:3px;max-height:420px;overflow:auto}
.chat-current-member{display:grid;grid-template-columns:34px 1fr;gap:9px;align-items:center;padding:8px;border-radius:9px}
.chat-current-member:hover{background:#f7f8f9}
.chat-current-member>div{display:flex;flex-direction:column}
.chat-current-member b{font-size:10px}.chat-current-member small{font-size:8px;color:#8f979e;margin-top:2px}
@media(max-width:650px){
  .chat-new-dialog-card{padding:16px!important;border-radius:14px!important}
  .chat-member-list{max-height:240px}
  .chat-room-header{padding:9px}
}

/* =========================================================
   v1.6.44 — Work navigation
   ========================================================= */
.work-back-link{
  display:inline-flex;align-items:center;gap:5px;margin:0 0 7px;
  font-size:9px;font-weight:800;color:#6f7881;text-decoration:none;
}
.work-back-link:hover{color:#d91e26}
.work-edit-actions{display:flex;gap:8px;align-items:center}

/* =========================================================
   v1.6.48 — Multi-department pilot / account lifecycle
   ========================================================= */
.auth-v1648 .login-card{width:min(520px,calc(100vw - 36px));position:relative}
.public-lang-switch{position:absolute;right:24px;top:22px;display:flex;gap:4px;padding:3px;border:1px solid #e5e7ea;border-radius:8px;background:#f7f8f9}
.public-lang-switch a{font-size:9px;font-weight:800;color:#737b84;padding:4px 6px;border-radius:5px;text-decoration:none}
.public-lang-switch a.active{background:#fff;color:#161b20;box-shadow:0 1px 3px rgba(0,0,0,.07)}
.auth-inline-link{text-align:right;margin:-4px 0 12px}
.auth-inline-link a,.auth-bottom-link a{font-size:11px;color:#59636d;text-decoration:none}
.auth-inline-link a:hover,.auth-bottom-link a:hover{color:#d71920}
.auth-divider{display:flex;align-items:center;gap:10px;margin:16px 0;color:#9299a1;font-size:9px;text-transform:uppercase;letter-spacing:.08em}
.auth-divider:before,.auth-divider:after{content:"";height:1px;background:#e7e9ec;flex:1}
.auth-create-account{width:100%;justify-content:center}
.auth-bottom-link{text-align:center;margin-top:16px}
.auth-success-mark{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#eef8f2;color:#16804a;font-size:20px;font-weight:900;margin:4px 0 14px}
.auth-success-mark.is-error{background:#fff2f2;color:#c53333}
.auth-register-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.profile-session-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.request-work-form{max-width:900px}
.request-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:0;overflow:hidden}
.request-detail-grid>div{padding:16px;border-right:1px solid #eceef0}
.request-detail-grid>div:last-child{border-right:0}
.request-detail-grid span{display:block;font-size:9px;color:#7a838c;text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px}
.request-detail-grid b{font-size:12px;color:#1a2026}
.request-brief-text{font-size:13px;line-height:1.7;color:#303840;margin:10px 0 0}
.request-files{display:flex;gap:8px;flex-wrap:wrap}
.chat-company-reset-panel{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.chat-company-reset-panel h2{margin:3px 0 5px}
.chat-company-reset-panel p{margin:0;color:#6e7780;max-width:620px}
@media(max-width:760px){
  .auth-register-grid{grid-template-columns:1fr}
  .request-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .request-detail-grid>div:nth-child(2){border-right:0}
  .chat-company-reset-panel{align-items:flex-start;flex-direction:column}
}
@media(max-width:480px){
  .request-detail-grid{grid-template-columns:1fr}
  .request-detail-grid>div{border-right:0;border-bottom:1px solid #eceef0}
}

/* =========================================================
   v1.6.49 — Developer view separation + UI polish
   ========================================================= */

/* Public auth language control: keep it above the title, never overlap text. */
.auth-v1669 .login-card{position:relative}
.auth-v1669 .public-lang-switch{
  position:static!important;
  width:max-content;
  margin:0 0 14px auto!important;
  right:auto!important;
  top:auto!important;
}
.auth-v1669 .login-card h1{clear:both}
.auth-v1669 .login-card>p{margin-top:7px}

/* Work form helper text: consistent breathing room and readable line height. */
.field>.helper,
.helper,
.mini-note{
  line-height:1.55;
}
.field>label + .helper,
.label + .helper{
  margin-top:2px;
}
.contributor-builder .helper{
  display:block;
  margin-top:5px;
  margin-bottom:7px;
  line-height:1.55;
}
.contributor-builder .mini-note{
  margin-top:7px;
  line-height:1.55;
}
details.more .helper{
  margin-top:5px;
  margin-bottom:8px;
}
[data-platform-channel-wrap] .helper,
.platform-channel-field .helper,
.usage-channel-field .helper{
  display:block;
  margin:5px 0 8px;
  line-height:1.55;
}
[data-platform-channel-wrap] .mini-note,
.platform-channel-field .mini-note,
.usage-channel-field .mini-note{
  margin-top:7px;
  margin-bottom:12px;
  line-height:1.55;
}
.form-grid>.field{align-content:start}

/* Users: native disclosure triangle is enough; no duplicate plus icon. */
.user-add-panel>summary{
  cursor:pointer;
  font-size:13px;
  font-weight:800;
  color:#343a40;
}

/* Developer-only tools: intentionally subtle in the top bar. */
.dev-tools-menu{position:relative}
.dev-tools-menu>summary{
  list-style:none;
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
  color:#6f7780;
  font-size:17px;
  font-weight:800;
  cursor:pointer;
  user-select:none;
}
.dev-tools-menu>summary::-webkit-details-marker{display:none}
.dev-tools-menu[open]>summary{background:#f4f5f7;color:#17191d}
.dev-tools-popover{
  position:absolute;
  right:0;
  top:40px;
  width:250px;
  max-height:420px;
  overflow:auto;
  z-index:80;
  padding:8px;
  border:1px solid #e2e5e8;
  border-radius:12px;
  background:#fff;
  box-shadow:0 16px 42px rgba(20,28,36,.14);
}
.dev-tools-head{padding:8px 9px 10px;border-bottom:1px solid #eceef1;margin-bottom:5px}
.dev-tools-head b{display:block;font-size:12px;color:#17191d}
.dev-tools-head small{display:block;margin-top:3px;color:#8a929a;font-size:9px}
.dev-tools-label{
  padding:10px 9px 5px;
  font-size:9px;
  font-weight:800;
  color:#8a929a;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.dev-tools-popover a{
  display:block;
  padding:8px 9px;
  border-radius:8px;
  font-size:11px;
  font-weight:700;
  color:#4e5760;
}
.dev-tools-popover a:hover{background:#f5f6f7;color:#17191d}
.dev-tools-popover a.active{background:#17191d;color:#fff}
.dev-preview-indicator{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 8px;
  border-radius:8px;
  background:#fff7e8;
  color:#8a5b00;
  border:1px solid #f1ddb1;
  font-size:9px;
  font-weight:800;
  white-space:nowrap;
}

@media(max-width:700px){
  .dev-preview-indicator{display:none}
  .dev-tools-popover{width:min(250px,calc(100vw - 30px))}
}

/* v1.6.49 — Work Usage Channel stays compact until opened. */
.usage-channel-field .platform-help{margin:5px 0 8px!important}
.work-channel-picker{position:relative;width:100%}
.work-channel-picker>summary{
  min-height:42px;
  display:flex;
  align-items:center;
  padding:10px 34px 10px 12px;
  border:1px solid #dadddf;
  border-radius:10px;
  background:#fff;
  color:#30363c;
  font-size:12px;
  line-height:1.45;
  cursor:pointer;
  list-style:none;
  white-space:normal;
}
.work-channel-picker>summary::-webkit-details-marker{display:none}
.work-channel-picker>summary:after{
  content:"⌄";
  position:absolute;
  right:13px;
  top:10px;
  color:#737b84;
  font-size:15px;
}
.work-channel-picker[open]>summary{border-color:#a9afb7;box-shadow:0 0 0 3px rgba(30,35,40,.04)}
.work-channel-picker .channel-grid{
  position:absolute;
  z-index:50;
  left:0;
  right:0;
  top:48px;
  display:flex!important;
  flex-wrap:wrap;
  gap:7px;
  padding:10px;
  border:1px solid #e2e5e8;
  border-radius:11px;
  background:#fff;
  box-shadow:0 14px 34px rgba(20,28,36,.12);
}
.work-channel-picker .channel-option{margin:0}
#platformRecommended{margin:7px 0 13px!important;line-height:1.55}

.work-channel-picker .channel-option.recommended{background:#f7f8f9}

/* =========================================================
   v1.6.50 — Master Data actions + modal spacing polish
   ========================================================= */

/* Contributor text is one compact information group. */
.contributor-head-row{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
}
.contributor-copy{min-width:0}
.contributor-copy .helper{
  margin:4px 0 0!important;
  line-height:1.45!important;
}
.contributor-copy .contributor-empty-note{
  margin-top:6px!important;
  margin-bottom:0!important;
}

/* Customer select text must sit vertically centered and never clip. */
.customer-priority-grid label{
  line-height:1.25!important;
  margin-bottom:5px!important;
}
.customer-priority-grid .select-with-action{
  min-height:38px!important;
  height:38px!important;
}
.customer-priority-grid .select-with-action select{
  min-height:38px!important;
  height:38px!important;
  line-height:20px!important;
  padding-top:7px!important;
  padding-bottom:7px!important;
}
.customer-priority-grid .select-with-action .field-plus{
  height:36px!important;
  min-height:36px!important;
}
.customer-priority-grid input{
  min-height:38px!important;
  height:38px!important;
  line-height:20px!important;
  padding-top:7px!important;
  padding-bottom:7px!important;
}

/* Quick New Company is a real lightweight creation form. */
.quick-master-dialog .quick-master-grid textarea{
  min-height:70px;
  resize:vertical;
}
.quick-master-dialog .field label{
  margin-bottom:5px;
  line-height:1.25;
}

/* Consistent right-side row action column. */
.table-actions-head{width:46px!important;min-width:46px!important}
.table-action{width:46px!important;text-align:right!important;padding-right:10px!important}
.clean-table tbody tr .row-more>summary,
.table-wrap tbody tr .row-more>summary{
  opacity:.35;
  transition:opacity .15s ease,background .15s ease;
}
.clean-table tbody tr:hover .row-more>summary,
.table-wrap tbody tr:hover .row-more>summary,
.row-more[open]>summary{opacity:1}

/* Customer detail modal. */
.customer-view-dialog{width:min(720px,calc(100vw - 32px))!important}
.customer-view-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  overflow:hidden;
  border:1px solid #e5e7ea;
  border-radius:11px;
  background:#e5e7ea;
}
.customer-view-grid>div{padding:13px 14px;background:#fff;min-width:0}
.customer-view-grid .span-2{grid-column:1/-1}
.customer-view-grid span{
  display:block;
  margin-bottom:5px;
  font-size:9px;
  font-weight:800;
  color:#7d858e;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.customer-view-grid b{font-size:12px;line-height:1.55;color:#252b31;font-weight:600}

/* Product modal footer should never stick to Commercial Information. */
.product-master-dialog form{padding-bottom:0!important}
.product-master-dialog .commercial-box{margin-bottom:0!important}
.product-modal-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:18px!important;
  padding:14px 0 16px!important;
  border-top:1px solid #eceef1;
  background:#fff;
}

/* Keep row menus compact; forms inside them behave like menu items. */
.row-more>div form{margin:0!important}
.row-more>div form button{width:100%;text-align:left}

/* =========================================================
   v1.6.51 — Customer Profile + Company Master mini-actions
   ========================================================= */

/* Company selector gets + and ⋯ as two compact actions. */
.company-master-actions{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 38px 38px!important;
  gap:0!important;
  overflow:visible!important;
}
.company-master-actions>select{
  min-width:0!important;
  border-radius:10px 0 0 10px!important;
}
.company-master-actions>.field-plus{
  border-radius:0!important;
  border-left:0!important;
  border-right:0!important;
}
.company-inline-more{
  position:relative;
  height:38px;
}
.company-inline-more>summary{
  list-style:none;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid #dadddf;
  border-radius:0 10px 10px 0;
  background:#fff;
  color:#58616a;
  font-size:17px;
  font-weight:800;
  cursor:pointer;
  user-select:none;
}
.company-inline-more>summary::-webkit-details-marker{display:none}
.company-inline-more[open]>summary{background:#f4f5f6;color:#17191d}
.company-inline-more.is-disabled>summary{
  opacity:.38;
  cursor:not-allowed;
  pointer-events:none;
}
.company-inline-more>div{
  position:absolute;
  right:0;
  top:44px;
  z-index:80;
  width:150px;
  padding:6px;
  border:1px solid #e1e4e8;
  border-radius:10px;
  background:#fff;
  box-shadow:0 12px 30px rgba(20,28,36,.14);
}
.company-inline-more>div button{
  width:100%;
  border:0;
  background:transparent;
  text-align:left;
  padding:8px 9px;
  border-radius:7px;
  color:#394149;
  font-size:11px;
  font-weight:700;
  cursor:pointer;
}
.company-inline-more>div button:hover{background:#f5f6f7}
.company-inline-more>div button.danger-link{color:#c53333}
.company-inline-more>div button.danger-link:hover{background:#fff1f1}

/* Add / Rename Company is intentionally tiny: only the master name. */
.compact-company-dialog{
  width:min(480px,calc(100vw - 32px))!important;
  padding:0!important;
}
.compact-company-dialog>form{padding:18px!important}
.compact-company-dialog .modal-head{margin-bottom:14px!important}
.compact-company-dialog .field input{
  min-height:42px!important;
  height:42px!important;
}
.compact-company-footer{
  margin-top:18px!important;
  padding-top:14px!important;
  border-top:1px solid #eceef1!important;
}

/* Customer Profile: no boxed spreadsheet grid. */
.customer-profile-dialog{
  width:min(650px,calc(100vw - 32px))!important;
  max-height:min(760px,calc(100vh - 40px))!important;
  padding:0!important;
  overflow:auto!important;
  border-radius:16px!important;
}
.customer-profile-head{
  position:relative;
  display:flex;
  align-items:center;
  gap:13px;
  padding:20px 22px 16px;
  border-bottom:1px solid #eceef1;
}
.customer-profile-avatar{
  width:44px;
  height:44px;
  flex:0 0 44px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#17191d;
  color:#fff;
  font-size:18px;
  font-weight:850;
}
.customer-profile-title{min-width:0;padding-right:40px}
.customer-profile-title .eyebrow{
  margin-bottom:3px;
  color:#7f8790;
  font-size:8px;
  letter-spacing:.08em;
}
.customer-profile-title h2{
  margin:0!important;
  font-size:22px!important;
  line-height:1.15!important;
  letter-spacing:-.025em;
}
.customer-profile-meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px 12px;
  margin-top:6px;
  color:#737c85;
  font-size:10px;
}
.customer-profile-x{
  position:absolute!important;
  right:16px;
  top:16px;
}
.customer-profile-body{
  padding:6px 22px 2px;
}
.customer-profile-section{
  padding:16px 0;
  border-bottom:1px solid #eceef1;
}
.customer-profile-section:last-child{border-bottom:0}
.customer-profile-section h3{
  margin:0 0 11px;
  color:#2e353c;
  font-size:11px;
  font-weight:850;
}
.customer-profile-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:13px 22px;
}
.customer-profile-list>div{min-width:0}
.customer-profile-list>div.wide{grid-column:1/-1}
.customer-profile-list span{
  display:block;
  margin-bottom:4px;
  color:#89919a;
  font-size:8px;
  line-height:1.3;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.055em;
  user-select:none;
}
.customer-profile-list b{
  display:block;
  color:#20262c;
  font-size:12px;
  line-height:1.55;
  font-weight:600;
  overflow-wrap:anywhere;
}
.customer-profile-note{
  padding:12px 13px;
  border-radius:10px;
  background:#f6f7f8;
  color:#414950;
  font-size:12px;
  line-height:1.65;
}
.customer-profile-empty{
  padding:38px 10px;
  text-align:center;
  color:#8a929a;
  font-size:11px;
}
.customer-profile-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:14px 22px 18px;
  border-top:1px solid #eceef1;
  background:#fff;
}

@media(max-width:560px){
  .customer-profile-head{padding:18px 16px 14px}
  .customer-profile-body{padding-left:16px;padding-right:16px}
  .customer-profile-footer{padding:13px 16px 16px}
  .customer-profile-list{grid-template-columns:1fr}
  .customer-profile-list>div.wide{grid-column:auto}
}


/* =========================================================
   v1.6.55 — Clean Company selector rebuild
   One real select + one add button. No custom dropdown layers.
   ========================================================= */
.company-native-shell{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 40px;
  gap:0;
  width:100%;
  align-items:center;
}
.company-native-field{
  position:relative;
  min-width:0;
}
.company-native-field>select{
  width:100%;
  min-width:0;
  height:42px;
  min-height:42px;
  padding:0 12px;
  border:1px solid #dadddf;
  border-right:0;
  border-radius:10px 0 0 10px;
  background:#fff;
  color:#2b3137;
  font-size:12px;
  line-height:20px;
  cursor:pointer;
  appearance:auto;
  -webkit-appearance:menulist;
  position:relative;
  z-index:1;
}
.company-native-field>select:hover{border-color:#c7ccd1}
.company-native-field>select:focus{
  outline:none;
  border-color:#aeb5bc;
  box-shadow:0 0 0 3px rgba(23,25,29,.04);
}

/* Attached + button: visually identical family to Country / Dealer. */
.company-add-button{
  width:40px;
  height:42px;
  min-height:42px;
  display:grid;
  place-items:center;
  padding:0;
  margin:0;
  border:1px solid #dadddf;
  border-radius:0 10px 10px 0;
  background:#fff;
  color:#293038;
  font-size:20px;
  font-weight:500;
  line-height:1;
  cursor:pointer;
  position:relative;
  z-index:10;
  pointer-events:auto;
  box-shadow:none;
}
.company-add-button:hover{
  background:#f6f7f8;
  border-color:#c6ccd2;
  color:#17191d;
}
.company-add-button:active{background:#eef0f2}

/* Context menu is hidden until a real company is selected and hovered. */
.company-native-field .company-inline-more{
  position:absolute;
  right:30px;
  top:6px;
  width:30px;
  height:30px;
  z-index:6;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .12s ease,visibility .12s ease;
}
.company-native-shell.has-selection .company-native-field:hover .company-inline-more,
.company-native-shell.has-selection .company-inline-more[open]{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.company-native-shell:not(.has-selection) .company-inline-more{display:none}
.company-native-field .company-inline-more>summary{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  list-style:none;
  border:0;
  border-radius:7px;
  background:#fff;
  color:#66707a;
  font-size:16px;
  cursor:pointer;
}
.company-native-field .company-inline-more>summary::-webkit-details-marker{display:none}
.company-native-field .company-inline-more>summary:hover,
.company-native-field .company-inline-more[open]>summary{
  background:#f0f2f4;
  color:#1f252b;
}
.company-native-field .company-inline-more>div{
  position:absolute;
  right:0;
  top:34px;
  width:150px;
  z-index:140;
  padding:6px;
  border:1px solid #e1e4e8;
  border-radius:10px;
  background:#fff;
  box-shadow:0 12px 30px rgba(20,28,36,.14);
}
.company-native-field .company-inline-more>div button{
  width:100%;
  border:0;
  background:transparent;
  text-align:left;
  padding:8px 9px;
  border-radius:7px;
  color:#394149;
  font-size:11px;
  font-weight:700;
  cursor:pointer;
}
.company-native-field .company-inline-more>div button:hover{background:#f5f6f7}
.company-native-field .company-inline-more>div button.danger-link{color:#c53333}
.company-native-field .company-inline-more>div button.danger-link:hover{background:#fff1f1}

/* Add Company is an anchored popover in the SAME customer form.
   This avoids nested <dialog> / showModal failures entirely. */
.c-company{position:relative}
.quick-company-popover{
  position:absolute;
  z-index:180;
  top:72px;
  left:0;
  width:min(360px,100%);
  padding:13px;
  border:1px solid #e1e4e8;
  border-radius:12px;
  background:#fff;
  box-shadow:0 16px 38px rgba(20,28,36,.16);
}
.quick-company-popover[hidden]{display:none}
.quick-company-popover-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.quick-company-popover-head b{
  color:#20262c;
  font-size:12px;
}
.quick-company-popover-head button{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border:1px solid #e0e3e6;
  border-radius:8px;
  background:#fff;
  color:#59626b;
  cursor:pointer;
}
.quick-company-popover>label{
  display:block;
  margin-bottom:5px;
  color:#4c555e;
  font-size:9px;
  font-weight:800;
}
.quick-company-popover>input{
  width:100%;
  height:40px;
  padding:0 11px;
  border:1px solid #dadddf;
  border-radius:9px;
  background:#fff;
  color:#252b31;
  font-size:12px;
}
.quick-company-popover>input:focus{
  outline:none;
  border-color:#aeb5bc;
  box-shadow:0 0 0 3px rgba(23,25,29,.04);
}
.quick-company-popover-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  margin-top:12px;
}

/* Menu rows: destructive action is always visible to Admin / Developer.
   Server-side rules still block hard delete when historical usage exists. */
.row-more .danger-link{color:#c53333!important}

@media(max-width:560px){
  .company-native-shell{grid-template-columns:minmax(0,1fr) 38px}
  .company-add-button{width:38px}
  .company-native-shell.has-selection .company-native-field .company-inline-more{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
  .quick-company-popover{
    width:calc(100vw - 64px);
    max-width:360px;
  }
}

/* =========================================================
   v1.6.59 — Product filters
   ========================================================= */
.product-filter-bar{
  display:grid;
  grid-template-columns:minmax(240px,1.35fr) minmax(160px,.85fr) minmax(150px,.8fr) minmax(135px,.7fr) auto auto;
  gap:8px;
  align-items:center;
  margin:12px 0 8px;
}
.product-filter-bar input,
.product-filter-bar select{
  width:100%;
  min-height:40px;
  height:40px;
  border:1px solid #dadddf;
  border-radius:9px;
  background:#fff;
  color:#2d343b;
  font-size:11px;
  padding:0 11px;
}
.product-filter-bar input:focus,
.product-filter-bar select:focus{
  outline:none;
  border-color:#abb2b9;
  box-shadow:0 0 0 3px rgba(23,25,29,.04);
}
.product-search-wrap{min-width:0}
.product-filter-meta{
  min-height:28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:0 0 8px;
}
.product-filter-meta>span{
  color:#737c84;
  font-size:10px;
  font-weight:700;
}
.product-active-chips{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
}
.product-active-chips a{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:4px 8px;
  border:1px solid #e0e4e7;
  border-radius:999px;
  background:#fff;
  color:#515a63;
  font-size:9px;
  font-weight:750;
}
.product-active-chips a:hover{
  border-color:#cbd0d5;
  background:#f7f8f9;
  color:#1f252b;
}
.product-clear-filter{
  white-space:nowrap;
}
@media(max-width:1100px){
  .product-filter-bar{
    grid-template-columns:minmax(220px,1fr) repeat(3,minmax(130px,.7fr));
  }
  .product-filter-bar>.btn{width:max-content}
}
@media(max-width:760px){
  .product-filter-bar{
    grid-template-columns:1fr 1fr;
  }
  .product-search-wrap{grid-column:1/-1}
  .product-filter-meta{
    align-items:flex-start;
    flex-direction:column;
  }
}

/* =========================================================
   v1.6.60 — Developer User Activity
   ========================================================= */
.dev-activity-head{align-items:flex-start}
.dev-presence-kpis{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:10px 0 12px;
}
.dev-presence-kpis>a{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:62px;
  padding:12px 14px;
  border:1px solid #e1e4e8;
  border-radius:12px;
  background:#fff;
  color:#2c333a;
}
.dev-presence-kpis>a:hover{border-color:#cbd0d5}
.dev-presence-kpis>a.active{border-color:#aeb5bc;background:#f8f9fa}
.dev-presence-kpis b{font-size:20px;line-height:1}
.dev-presence-kpis small{font-size:10px;color:#77808a;font-weight:700}
.presence-dot{
  width:9px;height:9px;border-radius:50%;display:inline-block;flex:0 0 9px;
}
.presence-dot.online{background:#27a35a}
.presence-dot.away{background:#d8a129}
.presence-dot.offline{background:#a8afb7}

.dev-activity-filters{
  display:grid;
  grid-template-columns:minmax(240px,1.4fr) minmax(160px,.8fr) minmax(140px,.7fr) auto auto;
  gap:8px;
  align-items:center;
  margin:0 0 10px;
}
.dev-activity-filters input,
.dev-activity-filters select{
  width:100%;
  height:40px;
  min-height:40px;
  border:1px solid #dadddf;
  border-radius:9px;
  background:#fff;
  color:#2d343b;
  font-size:11px;
  padding:0 11px;
}
.dev-activity-filters input:focus,
.dev-activity-filters select:focus{
  outline:none;
  border-color:#abb2b9;
  box-shadow:0 0 0 3px rgba(23,25,29,.04);
}
.dev-activity-note{
  margin:0 0 10px;
  padding:9px 11px;
  border:1px solid #eceff2;
  border-radius:9px;
  background:#fafbfb;
  color:#737c84;
  font-size:9px;
  line-height:1.45;
}
.dev-activity-table td{vertical-align:middle}
.dev-user-cell{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:220px;
}
.dev-user-cell img,
.dev-user-avatar{
  width:34px;height:34px;flex:0 0 34px;border-radius:50%;
}
.dev-user-cell img{object-fit:cover}
.dev-user-avatar{
  display:grid;place-items:center;
  background:#17191d;color:#fff;font-size:10px;font-weight:850;
}
.dev-user-cell div{min-width:0}
.dev-user-cell b{display:block;font-size:11px;color:#20262c}
.dev-user-cell small{
  display:block;margin-top:2px;color:#879099;font-size:9px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.dev-status-badge{
  display:inline-flex;align-items:center;gap:6px;
  min-height:26px;padding:4px 8px;border-radius:999px;
  font-size:9px;font-weight:800;
}
.dev-status-badge i{
  width:7px;height:7px;border-radius:50%;display:block;
}
.dev-status-badge.online{background:#eef9f2;color:#207946}
.dev-status-badge.online i{background:#27a35a}
.dev-status-badge.away{background:#fff8e8;color:#8b6511}
.dev-status-badge.away i{background:#d8a129}
.dev-status-badge.offline{background:#f2f4f5;color:#707982}
.dev-status-badge.offline i{background:#a8afb7}
.dev-chat-active{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 8px;
  border-radius:999px;
  background:#f2f4f5;
  color:#48515a;
  font-size:9px;
  font-weight:750;
}
@media(max-width:900px){
  .dev-activity-filters{grid-template-columns:1fr 1fr}
  .dev-activity-filters input{grid-column:1/-1}
}
@media(max-width:650px){
  .dev-presence-kpis{grid-template-columns:1fr}
  .dev-activity-filters{grid-template-columns:1fr}
  .dev-activity-filters input{grid-column:auto}
}

/* =========================================================
   v1.6.61 — Developer View consolidation
   ========================================================= */
.developer-view-head{align-items:flex-start}
.developer-overview-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:10px 0 18px;
}
.developer-section{
  margin-top:18px;
  padding-top:2px;
}
.developer-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:10px;
}
.developer-section-head h2{
  margin:2px 0 3px;
  font-size:18px;
  line-height:1.2;
}
.developer-section-head p{
  margin:0;
  color:#737c84;
  font-size:10px;
}
.developer-preview-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.developer-preview-grid .hub-dept-card{
  min-height:118px;
  text-decoration:none;
}
.developer-preview-grid .hub-dept-card h3{
  margin:6px 0 4px;
  color:#20262c;
  font-size:15px;
}
.developer-preview-grid .hub-dept-card p{
  margin:0;
  color:#737c84;
  font-size:10px;
  line-height:1.5;
}
@media(max-width:1050px){
  .developer-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .developer-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  .developer-overview-grid,
  .developer-preview-grid{grid-template-columns:1fr}
}

.file-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.file-row-more{position:relative}
.work-file-edit-dialog{width:min(720px,calc(100vw - 32px));padding:0}
.work-file-edit-body{padding:18px 20px}
.contributor-builder{padding-top:10px;padding-bottom:10px}
.contributor-head-row{min-height:44px}
