:root {
  color-scheme: light;
  --bg: #f4f6fb;
  --surface: #ffffff;
  --surface-soft: #f8f9fc;
  --line: #e5e8f0;
  --text: #1d2433;
  --muted: #6f7787;
  --primary: #5b56e8;
  --primary-dark: #4943d2;
  --primary-soft: #efefff;
  --green: #1b9b69;
  --green-soft: #eaf8f2;
  --orange: #d97706;
  --orange-soft: #fff4df;
  --rose: #d84b6b;
  --rose-soft: #fff0f4;
  --cyan: #0b84a5;
  --shadow: 0 14px 38px rgba(35, 42, 72, .08);
  --radius: 16px;
  font-family: Inter, Pretendard, "Apple SD Gothic Neo", "Noto Sans KR", system-ui, sans-serif;
}

* { box-sizing: border-box; }
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;width:100%}
[hidden] { display: none !important; }
.auth-boot-screen{position:fixed;inset:0;z-index:9999;display:grid;place-content:center;justify-items:center;gap:18px;background:var(--bg)}
.auth-boot-screen img{width:150px;height:auto}
.auth-boot-screen span{width:28px;height:28px;border:3px solid #dfe2ed;border-top-color:var(--primary);border-radius:50%;animation:auth-boot-spin .75s linear infinite}
@keyframes auth-boot-spin{to{transform:rotate(360deg)}}
body { margin: 0; min-width: 320px; background: var(--bg); color: var(--text); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.login-gate{min-height:100vh;display:grid;place-items:center;padding:32px;background:radial-gradient(circle at 50% 0,#fff 0,#f6f7fa 43%,#eceef4 100%)}
.login-card{width:min(620px,100%);padding:40px 46px;border:1px solid #dfe2e9;border-radius:24px;background:rgba(255,255,255,.96);box-shadow:0 28px 80px rgba(29,36,51,.12);text-align:center}
.login-logo{display:block;width:220px;height:92px;margin:0 auto -8px;object-fit:contain}
.login-system-name{margin:0;color:#3f4045;font-size:13px;font-weight:800;letter-spacing:.08em}
.login-card h1{max-width:550px;margin:18px auto 7px;font-size:25px;line-height:1.35;letter-spacing:-.045em;word-break:keep-all}
.login-intro{margin:0;color:var(--muted);font-size:13px}
.security-consent{margin:25px 0 18px;padding:19px 20px;border:1px solid #e4d8c3;border-radius:16px;background:#fffaf2;text-align:left}
.security-consent-head{display:flex;gap:11px;align-items:center}.security-consent-head>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;color:#fff;background:#44444a;font-weight:900}.security-consent-head b,.security-consent-head small{display:block}.security-consent-head b{font-size:13px}.security-consent-head small{margin-top:3px;color:#9a7542;font-size:9px;letter-spacing:.06em}
.security-consent ul{display:grid;gap:7px;margin:15px 0;padding-left:20px;color:#55545a;font-size:11px;line-height:1.55}.security-consent>p{margin:15px 0 0;padding-top:13px;border-top:1px solid #eadfcf;color:#292a2f;font-size:12px;font-weight:800}
.microsoft-login-button{display:flex;justify-content:center;align-items:center;gap:12px;width:100%;padding:14px 18px;border:1px solid #25262b;border-radius:12px;color:#fff;background:#25262b;font-size:14px;font-weight:800;box-shadow:0 10px 24px rgba(37,38,43,.2)}.microsoft-login-button:hover{background:#111216}.microsoft-login-button:disabled{cursor:wait;opacity:.58}
.microsoft-login-button .microsoft-mark{grid-template-columns:repeat(2,8px)}.microsoft-login-button .microsoft-mark i{width:8px;height:8px}
.consent-footnote{max-width:500px;margin:13px auto 0;color:#7e8490;font-size:10px;line-height:1.55}.login-error{margin:14px 0 0;padding:10px 12px;border-radius:10px;color:#a3344f;background:#fff0f3;font-size:11px}
.teams-bot-gate{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 50% 0,#f0efff 0,#f6f7fb 44%,#e9ecf3 100%)}
.teams-bot-gate-card{width:min(620px,100%);padding:42px 46px;border:1px solid #dddff0;border-radius:25px;background:rgba(255,255,255,.97);box-shadow:0 28px 90px rgba(31,35,70,.15);text-align:center}
.teams-bot-gate-logo{display:block;width:190px;height:76px;margin:0 auto 6px;object-fit:contain}.teams-bot-required-badge{display:inline-flex;padding:6px 10px;border-radius:999px;color:#4c48c8;background:#ecebff;font-size:10px;font-weight:850;letter-spacing:.06em}.teams-bot-gate-card h1{margin:17px 0 10px;font-size:27px;line-height:1.3}.teams-bot-gate-card>p{max-width:520px;margin:0 auto;color:var(--muted);font-size:13px;line-height:1.75}
.teams-bot-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:25px 0 18px}.teams-bot-benefits span{display:grid;gap:7px;justify-items:center;padding:14px 8px;border:1px solid #e5e6f2;border-radius:13px;color:#444b5b;background:#fafaff;font-size:11px;font-weight:750}.teams-bot-benefits b{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;color:#fff;background:#5b5fc7;font-size:11px}
.teams-bot-gate-card .teams-bot-gate-status{padding:12px 14px;border-radius:11px;color:#3b6757;background:#edf8f3;font-size:11px;font-weight:750}.teams-bot-gate[data-state="error"] .teams-bot-gate-status{color:#a3344f;background:#fff0f3}.teams-bot-gate-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:17px}.teams-bot-install-button{padding:13px 16px;border:1px solid #5b5fc7;border-radius:11px;color:#fff;background:#5b5fc7;font-weight:850;box-shadow:0 8px 20px rgba(91,95,199,.24)}.teams-bot-install-button:hover{background:#4d51b5}.teams-bot-install-button:disabled,.teams-bot-gate-actions button:disabled{cursor:wait;opacity:.58}.teams-bot-gate-card>small{display:block;margin-top:14px;color:#8a91a0;font-size:10px;line-height:1.5}
.app-shell { min-height: 100vh; display: grid; grid-template-columns: 232px minmax(0, 1fr); }
.sidebar { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; padding: 22px 14px 16px; color: #e7e9ff; background: #1f2140; }
.brand{display:grid;gap:4px;justify-items:center;padding:0 2px 24px}
.brand-mark{position:relative;display:block;width:126px;height:43px;overflow:hidden;background:transparent}
.brand-logo{position:absolute;top:50%;left:0;width:126px;height:126px;object-fit:contain;transform:translateY(-50%);filter:brightness(0) invert(1)}
.brand-mark::after{position:absolute;inset:0;content:"";background:url('./assets/jcworks-logo.png') center/126px 126px no-repeat;clip-path:circle(4.2px at 37.1px 21.7px);pointer-events:none}
.brand-title{width:126px;margin:0;color:#fff;font-size:11px;font-weight:850;letter-spacing:.055em;line-height:1.2;text-align:center;white-space:nowrap}
.nav-list { display: grid; gap: 5px; }
.nav-item, .project-link, .new-project { width: 100%; border: 0; color: #b9beda; background: transparent; text-align: left; border-radius: 10px; }
.nav-item { display: flex; align-items: center; gap: 11px; padding: 11px 12px; }
.nav-item span { width: 20px; color: #9096bd; font-size: 18px; text-align: center; }
.nav-item:hover, .nav-item.active { color: white; background: rgba(255,255,255,.09); }
.nav-count { margin-left: auto; min-width: 22px; padding: 2px 6px; border-radius: 999px; background: #5b56e8; color: white; font-size: 10px; text-align: center; }
.nav-count.amber { background: #cb7a13; }
.sidebar-label { margin: 28px 12px 10px; color: #767d9f; font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.project-link { display: flex; align-items: center; gap: 10px; padding: 9px 12px; font-size: 13px; }
.project-link:hover, .project-link.active-project { color: white; background: rgba(255,255,255,.055); }
.project-dot { width: 9px; height: 9px; border-radius: 3px; }
.project-dot.indigo { background: #7c78ff; } .project-dot.cyan { background: #25b6d2; } .project-dot.rose { background: #ed6d8b; }
.new-project { margin-top: 8px; padding: 9px 12px; color: #7f86ac; font-size: 12px; }
.sidebar-footer { margin-top: auto; display: grid; grid-template-columns: 34px 1fr 24px; gap: 9px; align-items: center; padding: 14px 8px 2px; border-top: 1px solid rgba(255,255,255,.09); }
.avatar { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: #e1e0ff; color: #4c47cc; font-weight: 700; }
.sidebar-footer strong, .sidebar-footer span { display: block; }
.sidebar-footer .workhub-version{display:block;margin-bottom:3px;color:#666f98;font-size:9px;font-weight:850;line-height:1;letter-spacing:.08em}
.sidebar-footer strong { color: #f6f7ff; font-size: 12px; }
.sidebar-footer span { margin-top: 2px; color: #7f86a8; font-size: 10px; }
.sidebar-footer button { border: 0; color: #8289a9; background: transparent; }
.main-content { min-width: 0; padding: 28px 38px 46px; }
.topbar { display: flex; justify-content: space-between; gap: 24px; align-items: center; }
.app-shell .topbar.compact{min-height:40px;justify-content:flex-end}.topbar.compact>.top-actions{margin-left:auto}
.eyebrow, .dialog-kicker { margin: 0 0 5px; color: #8b92a3; font-size: 10px; font-weight: 700; letter-spacing: .12em; }
h1 { margin: 0; font-size: 27px; letter-spacing: -.04em; }
.top-actions { display: flex; gap: 9px; align-items: center; }
.top-actions>.top-shortcut-hidden{display:none!important}
.primary-button, .secondary-button, .sync-button, .auth-button, .icon-button { border-radius: 10px; padding: 10px 14px; border: 1px solid var(--line); background: var(--surface); color: var(--text); font-weight: 650; font-size: 12px; }
.primary-button { border-color: var(--primary); background: var(--primary); color: white; box-shadow: 0 7px 18px rgba(91,86,232,.2); }
.primary-button:hover { background: var(--primary-dark); }
.teams-chat-button { display: inline-flex; gap: 7px; align-items: center; color: #4b4fa9; border-color: #dcdcf4; }
.teams-mini-logo { display: grid; place-items: center; width: 18px; height: 18px; border-radius: 5px; color: white; background: #5b5fc7; font-size: 9px; font-weight: 800; }
.sync-button { display: flex; gap: 8px; align-items: center; color: #4d5668; background: #fbfcff; }
.auth-button { display: inline-flex; gap: 8px; align-items: center; color: #34386d; border-color: #d8daf0; background: #f8f8ff; }
.auth-button:disabled { cursor: wait; opacity: .66; }
.auth-button.signed-in { color: #24684f; border-color: #cde9de; background: #f0faf6; }
.microsoft-mark { display: grid; grid-template-columns: repeat(2, 6px); gap: 1px; }
.microsoft-mark i { width: 6px; height: 6px; background: #f25022; }.microsoft-mark i:nth-child(2){background:#7fba00}.microsoft-mark i:nth-child(3){background:#00a4ef}.microsoft-mark i:nth-child(4){background:#ffb900}
.pulse-dot { width: 7px; height: 7px; border-radius: 50%; background: #22ad73; box-shadow: 0 0 0 4px #e4f8ef; }
.pulse-dot.amber-dot { background: #df8a1b; box-shadow: 0 0 0 4px #fff1d9; }
.icon-button { width: 38px; height: 38px; padding: 0; font-size: 20px; }
.project-summary { display: grid; grid-template-columns: minmax(0,1fr) 250px; gap: 28px; margin-top: 24px; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: 0 8px 24px rgba(35,42,72,.035); }
.project-back-button{grid-column:1/-1;display:flex;align-items:center;gap:10px;justify-self:start;margin-bottom:-8px;padding:9px 14px 9px 9px;border:1px solid #d9dcf1;border-radius:14px;color:#34395d;background:linear-gradient(180deg,#fff,#f7f7ff);box-shadow:0 5px 16px rgba(67,67,130,.08);text-align:left;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.project-back-button:hover{transform:translateY(-1px);color:var(--primary);border-color:#aaa6ee;box-shadow:0 8px 20px rgba(67,67,130,.13)}.project-back-button:focus-visible{outline:3px solid rgba(100,95,225,.22);outline-offset:2px}.project-back-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;color:#fff;background:linear-gradient(135deg,#6d68e8,#4f55c9);font-size:19px;font-weight:900}.project-back-button>span:last-child{display:grid;gap:1px}.project-back-button b{font-size:13px}.project-back-button small{color:var(--muted);font-size:9px;font-weight:700}
.project-work-heading{display:flex;align-items:baseline;gap:10px;margin:4px 0 2px}.project-work-heading span{color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.12em}.project-work-heading h2{margin:0;font-size:21px}
.identity-banner { display: none !important; grid-template-columns: 34px minmax(0,1fr) auto; gap: 11px; align-items: center; margin-top: 18px; padding: 12px 14px; border: 1px solid #e1e3ef; border-radius: 13px; background: #fafaff; }
.identity-icon { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 9px; color: white; background: linear-gradient(135deg,#5b56e8,#0b84a5); font-size: 13px; font-weight: 800; }
.identity-banner b,.identity-banner span { display: block; }.identity-banner b{font-size:11px}.identity-banner div span{margin-top:3px;color:var(--muted);font-size:9px}.identity-banner em{padding:5px 8px;border-radius:999px;color:#9a610d;background:#fff3da;font-size:9px;font-style:normal;font-weight:800}
.identity-banner[data-state="connected"]{border-color:#cee9dd;background:#f3fbf7}.identity-banner[data-state="connected"] em{color:#237353;background:#def4e9}.identity-banner[data-state="error"]{border-color:#f2ccd5;background:#fff6f8}.identity-banner[data-state="error"] em{color:#b53b58;background:#ffe3e9}
.status-line { display: flex; gap: 10px; align-items: center; color: var(--muted); font-size: 12px; }
.status-badge { padding: 4px 9px; border-radius: 999px; color: var(--green); background: var(--green-soft); font-weight: 700; }
.summary-copy > p { max-width: 760px; margin: 14px 0 18px; color: #555e6e; font-size: 13px; line-height: 1.65; }
.members { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.project-teams-channel-badge{padding:5px 9px;border-radius:999px;color:#8b5b0b;background:#fff1d8;font-size:10px;font-weight:800}.project-teams-channel-badge.connected{color:#276d56;background:#ddf4e9}.project-channel-button{margin-left:0!important;padding:6px 9px!important;border:1px solid #d7d5f4!important;border-radius:9px!important;background:#f6f5ff!important}
.member { display: grid; place-items: center; width: 28px; height: 28px; margin-left: -5px; border: 2px solid white; border-radius: 50%; font-size: 10px; font-weight: 700; }
.member:first-child { margin-left: 0; }
.member.purple { background:#e7e4ff;color:#514cca}.member.blue{background:#deefff;color:#3070a4}.member.green{background:#dff6ea;color:#27845e}.member.orange{background:#fff0d8;color:#a8610b}.member.more{background:#f0f1f5;color:#6e7480}
.text-button { margin-left: 10px; border: 0; background: transparent; color: var(--primary); font-size: 11px; font-weight: 700; }
.progress-card { align-self: center; padding-left: 24px; border-left: 1px solid var(--line); }
.progress-card > div:first-child { display: flex; justify-content: space-between; align-items: end; color: var(--muted); font-size: 11px; }
.progress-card strong { color: var(--text); font-size: 26px; }
.progress-track { height: 7px; margin: 13px 0 10px; overflow: hidden; border-radius: 10px; background: #eceef5; }
.progress-track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #6c67ef, #817df4); }
.progress-card p { margin: 0; color: var(--muted); font-size: 11px; }
.integration-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 14px 0; }
.integration-card { display: grid; grid-template-columns: 34px 1fr auto; gap: 10px; align-items: center; min-width: 0; padding: 12px 14px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface); text-align: left; }
.integration-card:hover { transform: translateY(-1px); box-shadow: 0 7px 20px rgba(35,42,72,.06); }
.integration-logo { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 9px; color: white; font-size: 13px; font-weight: 800; }
.teams-card .integration-logo { background:#5b5fc7}.outlook-card .integration-logo{background:#1976d2}.sharepoint-card .integration-logo{background:#038387}
.integration-card b, .integration-card small { display: block; }
.integration-card b { font-size: 12px; }.integration-card small{margin-top:3px;color:var(--muted);font-size:10px}.integration-card em{color:var(--green);font-size:9px;font-style:normal;font-weight:700}
.todo-page { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; margin-top: 24px; }
.todo-page[hidden] { display: none; }
.todo-hero { display: flex; justify-content: space-between; gap: 28px; align-items: center; padding: 26px; border: 1px solid var(--line); border-radius: var(--radius); color: #fff; background: linear-gradient(135deg,#292c59,#4943a7); box-shadow: var(--shadow); }
.todo-hero h2 { margin: 10px 0 6px; font-size: 23px; }.todo-hero p{margin:0;color:#d9daf4;font-size:12px}.todo-hero .status-badge{color:#d9d8ff;background:rgba(255,255,255,.12)}
.reminder-control { display: grid; grid-template-columns: auto auto; gap: 6px 10px; align-items: center; min-width: 260px; padding: 14px; border: 1px solid rgba(255,255,255,.16); border-radius: 12px; background: rgba(255,255,255,.08); }
.reminder-control label{font-size:10px;font-weight:800}.reminder-control select{padding:8px;border:0;border-radius:8px;background:#fff;color:#303451;font-size:11px}.reminder-control small{grid-column:1/-1;color:#c6c8ef;font-size:9px}
.todo-metrics { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }.todo-metrics>div{padding:17px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.todo-metrics span,.todo-metrics b{display:block}.todo-metrics span{color:var(--muted);font-size:10px}.todo-metrics b{margin-top:6px;color:var(--text);font-size:22px}
.todo-list-card{overflow:visible;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.todo-list-head{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line)}.todo-list-actions{display:flex;gap:8px;align-items:center}.todo-filters{display:flex;gap:4px;padding:3px;border-radius:10px;background:var(--surface-soft)}.todo-filter{padding:8px 13px;border:0;border-radius:8px;color:var(--muted);background:transparent;font-size:10px;font-weight:700}.todo-filter.active{color:var(--primary);background:var(--surface);box-shadow:0 2px 8px rgba(35,42,72,.08)}
.todo-advanced-filters{display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(5,minmax(125px,1fr));gap:10px;padding:14px 18px;border-bottom:1px solid var(--line);background:var(--surface-soft)}.todo-advanced-filters label{display:grid;gap:5px;color:var(--muted);font-size:9px;font-weight:850}.todo-advanced-filters input,.todo-advanced-filters select{min-width:0;min-height:38px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;color:var(--text);background:var(--surface);font:inherit}.todo-advanced-filters .filter-result-bar{grid-column:1/-1;padding:2px 0 0}.filter-result-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:10px;font-weight:750}.filter-result-bar .text-button{padding:5px 0}
.personal-todo-list{display:grid}.todo-status-section>h3{display:flex;align-items:center;gap:8px;margin:0;padding:14px 18px;border-bottom:1px solid var(--line);color:var(--text);background:var(--surface-soft);font-size:12px}.todo-status-section>h3 span{display:grid;place-items:center;min-width:22px;height:22px;padding:0 7px;border-radius:999px;color:#5651ce;background:#e9e8ff;font-size:9px}.todo-status-section.completed{border-top:8px solid var(--bg)}.personal-todo-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:13px;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line);background:var(--surface)}.personal-todo-item:last-child{border-bottom:0}.personal-todo-item h3{margin:0;color:var(--text);font-size:12px}.personal-todo-item p{margin:5px 0 0;color:var(--muted);font-size:10px}.personal-todo-item.complete h3{text-decoration:line-through;color:#9096a3}.todo-side{text-align:right}.todo-kind{display:inline-flex;padding:4px 7px;border-radius:999px;color:#514bd3;background:var(--primary-soft);font-size:8px;font-weight:800}.todo-kind.personal{color:var(--green);background:var(--green-soft)}.todo-side time{display:block;margin-top:6px;color:var(--muted);font-size:9px}.todo-side time.urgent{color:var(--rose);font-weight:800}.todo-completed-pill,.task-completed-pill{display:inline-flex;align-items:center;justify-content:center;padding:7px 11px;border-radius:999px;color:#397a60;background:#e5f5ee;font-size:9px;font-weight:850}
.personal-todo-item .todo-project-name,.home-work-item .todo-project-name,.due-soon-item .todo-project-name{color:var(--primary);font-weight:850}.personal-todo-item .todo-project-name{margin-top:6px}.home-work-item .todo-project-name{margin-bottom:3px;font-size:10px}.due-soon-item .todo-project-name{margin:5px 0 2px}
.notification-page{display:grid;gap:14px;margin-top:24px}.notification-hero{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.notification-hero h2{margin:10px 0 5px;font-size:21px}.notification-hero p{margin:0;color:var(--muted);font-size:11px}.notification-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:14px}.notification-list,.notification-settings{border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.notification-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start;padding:17px 18px;border-bottom:1px solid #eef0f5}.notification-item:last-child{border-bottom:0}.notification-item.read{opacity:.58}.notification-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;color:#5651d1;background:#eeedff;font-size:13px;font-weight:800}.notification-item h3{margin:0;font-size:11px}.notification-item p{margin:5px 0 0;color:var(--muted);font-size:10px;line-height:1.5}.notification-item time{color:#9298a5;font-size:8px}.notification-read{margin-top:8px;border:0;color:#5752d3;background:transparent;font-size:9px;font-weight:800}.notification-settings{align-self:start;padding:18px}.notification-settings h3{margin:0 0 14px;font-size:12px}.notification-settings label{display:flex;gap:8px;align-items:center;margin:11px 0;color:#515968;font-size:10px}.notification-settings p{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line);color:var(--muted);font-size:9px;line-height:1.5}
.chat-backdrop{position:fixed;inset:0;z-index:29;background:rgba(21,25,45,.38);backdrop-filter:blur(3px)}.chat-drawer{position:fixed;z-index:30;top:0;right:0;width:min(600px,100vw);height:100vh;display:grid;grid-template-rows:auto auto auto auto minmax(180px,1fr) auto;color:var(--text);background:var(--surface);box-shadow:-24px 0 80px rgba(20,25,46,.28);transform:translateX(105%);transition:transform .24s ease}.chat-drawer.open{transform:translateX(0)}.chat-header{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:22px 24px 18px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#25284f,#3f4389);color:#fff}.chat-heading{display:flex;gap:13px;align-items:center}.chat-heading .integration-logo{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;color:#fff;background:#6569d8;font-size:18px;font-weight:900;box-shadow:0 8px 20px rgba(0,0,0,.16)}.chat-heading span{color:#cfd1ff;font-size:10px;font-weight:850;letter-spacing:.08em}.chat-heading h2{margin:4px 0 0;color:#fff;font-size:18px}.chat-header .close-button{color:#fff;background:rgba(255,255,255,.12)}.chat-sync-state{display:flex;gap:8px;align-items:center;padding:10px 24px;color:#316c57;background:#ecf8f3;font-size:11px;line-height:1.5}.chat-thread-banner{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:15px 24px;border-bottom:1px solid var(--line);background:var(--surface)}.chat-thread-banner b,.chat-thread-banner span{display:block}.chat-thread-banner b{font-size:14px}.chat-thread-banner span{margin-top:4px;color:var(--muted);font-size:11px;font-weight:700}.chat-thread-banner .text-button{padding:9px 12px;border:1px solid #dadcf1;border-radius:9px;color:#4f53ba;background:#f5f5ff;font-size:11px;font-weight:850}.chat-context-panel{margin:14px 18px 0;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.chat-context-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.chat-context-title b,.chat-context-title span{display:block}.chat-context-title b{font-size:13px}.chat-context-title>div span{margin-top:3px;color:var(--muted);font-size:10px}.chat-context-title .chat-context-badge{padding:5px 8px;border-radius:999px;color:#5559c4;background:#e8e9ff;font-size:9px;font-weight:900;letter-spacing:.08em}.chat-messages{overflow:auto;margin-top:14px;padding:22px 20px;background:linear-gradient(#f7f8fc,#f3f5fa)}.chat-messages>.empty-state{margin:24px auto;max-width:320px;padding:28px;border:1px dashed #d8dbea;border-radius:14px;text-align:center;background:rgba(255,255,255,.72)}.chat-message{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;margin-bottom:16px}.chat-message.mine{grid-template-columns:minmax(0,1fr) 34px}.chat-message.mine .chat-avatar{grid-column:2}.chat-message.mine .chat-bubble{grid-column:1;grid-row:1;text-align:right;border-color:#d9d8ff;background:#eeeeff}.chat-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:#514cca;background:#e7e4ff;font-size:11px;font-weight:850}.chat-bubble{padding:12px 14px;border:1px solid #e2e5ed;border-radius:5px 14px 14px;background:#fff;box-shadow:0 4px 14px rgba(35,42,72,.05)}.chat-bubble header{display:flex;justify-content:space-between;gap:10px;margin-bottom:7px}.chat-bubble b{font-size:11px}.chat-bubble time{color:#9aa0ac;font-size:9px}.chat-bubble p{margin:0;color:#454e60;font-size:12px;line-height:1.6}.chat-thread-link{display:inline-block;margin-top:8px;color:#5551cb;font-size:9px;font-weight:800}.chat-composer{padding:16px 20px 18px;border-top:1px solid var(--line);background:var(--surface)}.chat-composer label{display:block;margin-bottom:8px;color:var(--text);font-size:11px;font-weight:850}.chat-composer textarea{width:100%;min-height:82px;padding:13px 14px;border:1px solid #d9dce6;border-radius:12px;color:var(--text);background:var(--surface-soft);outline:0;resize:none;font-size:12px;line-height:1.55}.chat-composer textarea:focus{border-color:#7772eb;box-shadow:0 0 0 3px #efefff}.chat-send-status{display:none;margin:8px 0 0;padding:9px 11px;border-radius:9px;font-size:11px;font-weight:750;line-height:1.45}.chat-send-status[data-state="sending"]{display:block;color:#4f53ba;background:#f0f0ff}.chat-send-status[data-state="error"]{display:block;color:#a43b3b;background:#fff0f0}.chat-send-status[data-state="ready"]{display:block;color:#286a53;background:#ecf8f3}.chat-composer[aria-busy="true"] textarea{opacity:.72}.chat-composer>div{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:10px}.chat-composer>div>span{color:var(--muted);font-size:10px}.chat-composer .primary-button{min-width:110px}
.workspace { min-height: 520px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); }
.workspace-toolbar { display: flex; justify-content: space-between; gap: 18px; align-items: center; padding: 14px 18px; border-bottom: 1px solid var(--line); }
.view-tabs { display: flex; gap: 4px; padding: 3px; border-radius: 10px; background: #f1f3f8; }
.view-tab { padding: 8px 13px; border: 0; border-radius: 8px; color: var(--muted); background: transparent; font-size: 11px; font-weight: 700; }
.view-tab.active { color: var(--primary); background: white; box-shadow: 0 2px 8px rgba(35,42,72,.08); }
.toolbar-actions { display: flex; gap: 8px; }
.search-field { display: flex; align-items: center; gap: 7px; width: 190px; padding: 8px 11px; border: 1px solid var(--line); border-radius: 9px; color: #9298a6; background: #fbfcfe; }
.search-field input { width: 100%; border: 0; outline: 0; background: transparent; font-size: 11px; }
#view-container { padding: 18px; }
.board { display: grid; grid-template-columns: repeat(4, minmax(210px, 1fr)); gap: 13px; align-items: start; overflow-x: auto; }
.board-column { min-width: 210px; padding: 12px; border-radius: 13px; background: var(--surface-soft); }
.column-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.column-title { display: flex; gap: 7px; align-items: center; font-size: 11px; font-weight: 800; }
.column-dot { width: 7px; height: 7px; border-radius: 50%; }.todo .column-dot{background:#a0a6b4}.progress .column-dot{background:#5b56e8}.review .column-dot{background:#df8915}.done .column-dot{background:#22a574}
.column-count { color: #979dac; font-size: 10px; }
.task-list { display: grid; gap: 9px; min-height: 90px; }
.task-card { padding: 13px; border: 1px solid #e8eaf1; border-radius: 11px; background: white; box-shadow: 0 3px 10px rgba(35,42,72,.035); transition: .16s ease; }
.task-card:hover { transform: translateY(-2px); border-color: #d8d6ff; box-shadow: 0 8px 20px rgba(35,42,72,.075); }
.task-top { display: flex; justify-content: space-between; gap: 8px; }
.task-code { color: #969dab; font-size: 9px; letter-spacing: .05em; }
.priority { width: 7px; height: 7px; margin-top: 3px; border-radius: 50%; background: #d9dce5; }.priority.high{background:#e35b73}.priority.medium{background:#e8a038}.priority.low{background:#4cae86}
.task-card h3 { margin: 8px 0 6px; font-size: 12px; line-height: 1.45; }
.task-card > p { display: -webkit-box; overflow: hidden; margin: 0 0 12px; color: var(--muted); font-size: 10px; line-height: 1.5; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.task-meta, .task-footer { display: flex; justify-content: space-between; gap: 8px; align-items: center; }
.task-assignee-actions,.table-assignee-actions{display:flex;align-items:center;gap:8px}.task-assignee-actions{justify-content:space-between;margin:9px 0}.task-assignee-name{display:flex;align-items:center;gap:6px;min-width:0;color:var(--text);font-size:10px;font-weight:800}.task-assignee-name>.tiny-avatar{flex:0 0 auto}.table-assignee-actions{min-width:220px}.table-assignee-actions>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assignee-chat-button{flex:0 0 auto;padding:7px 10px;border:1px solid #cbc9f1;border-radius:9px;color:#4f4ac1;background:#f4f3ff;font-size:10px;font-weight:850;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}.assignee-chat-button:hover{transform:translateY(-1px);border-color:#8e89e9;background:#e9e7ff}.assignee-chat-button:focus-visible{outline:3px solid rgba(100,95,225,.2);outline-offset:2px}.assignee-chat-button.compact{padding:6px 9px;font-size:9px}
.due { color: #8d94a2; font-size: 9px; }.due.late{color:#d84b6b;font-weight:700}
.tiny-avatar { display: grid; place-items: center; width: 23px; height: 23px; border-radius: 50%; color: #5651d1; background: #e8e7ff; font-size: 9px; font-weight: 800; }
.task-footer { margin-top: 10px; padding-top: 9px; border-top: 1px solid #eff0f5; color: #8c93a1; font-size: 9px; }
.ack { padding: 3px 6px; border-radius: 999px; background: var(--orange-soft); color: var(--orange); font-weight: 700; }.ack.done{background:var(--green-soft);color:var(--green)}
.table-wrap { overflow-x: auto; }.task-table{width:100%;border-collapse:collapse;font-size:11px}.task-table th{text-align:left;color:#7d8493;font-size:9px;letter-spacing:.05em;text-transform:uppercase;background:#fafbfe}.task-table th,.task-table td{padding:12px;border-bottom:1px solid var(--line)}.task-table tr:hover td{background:#fbfbff}.table-status{display:inline-flex;padding:4px 7px;border-radius:999px;background:#eff0ff;color:#5853d8;font-size:9px;font-weight:700}
.timeline { display: grid; grid-template-columns: 170px 1fr; gap: 0; font-size: 10px; }.timeline-head{display:grid;grid-template-columns:repeat(8,1fr);color:#888f9f}.timeline-head span{text-align:center;padding:8px 0;border-left:1px solid #eef0f5}.timeline-label,.timeline-row{min-height:48px;border-bottom:1px solid #eef0f5}.timeline-label{padding:15px 10px;font-weight:700}.timeline-row{position:relative;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(12.5% - 1px),#eef0f5 calc(12.5% - 1px),#eef0f5 12.5%)}.timeline-bar{position:absolute;top:13px;height:22px;padding:4px 8px;overflow:hidden;border-radius:7px;color:#fff;background:#6863eb;white-space:nowrap}.timeline-bar.done{background:#29a879}.timeline-bar.review{background:#df8a1b}
.calendar { display: grid; grid-template-columns: repeat(7,1fr); border-top:1px solid var(--line);border-left:1px solid var(--line)}.calendar-weekday{padding:8px;text-align:center;color:#838a98;background:#fafbfe;font-size:9px;font-weight:700;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.calendar-day{min-height:91px;padding:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:10px}.calendar-day.muted{color:#b8bdc8;background:#fafbfc}.calendar-event{margin-top:5px;padding:4px 6px;border-radius:5px;background:#efefff;color:#514bd3;font-size:8px;font-weight:700}.calendar-event.review{background:#fff2dc;color:#ad6609}.calendar-event.done{background:#e8f7f0;color:#23845e}
.task-dialog, .detail-dialog { width: min(620px, calc(100vw - 28px)); padding: 0; border: 0; border-radius: 17px; box-shadow: 0 24px 80px rgba(24,29,55,.24); }.task-dialog::backdrop,.detail-dialog::backdrop{background:rgba(20,25,46,.46);backdrop-filter:blur(3px)}
#task-form, #personal-todo-form { padding: 24px; }.dialog-header{display:flex;justify-content:space-between;align-items:start}.dialog-header h2{margin:0;font-size:21px}.close-button{width:34px;height:34px;border:0;border-radius:9px;background:#f2f3f7;color:#656d7a;font-size:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}.form-grid label{display:grid;gap:7px;color:#596171;font-size:11px;font-weight:700}.form-grid input,.form-grid select,.form-grid textarea{width:100%;padding:10px 11px;border:1px solid var(--line);border-radius:9px;outline:none;color:var(--text);background:white;font-size:12px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#8b87f3;box-shadow:0 0 0 3px #efefff}.full-field{grid-column:1/-1}.delivery-options{display:grid;gap:9px;margin:18px 0;padding:14px;border-radius:11px;background:#f7f8fc;color:#5e6675;font-size:11px}.delivery-options label{display:flex;gap:8px;align-items:center}.dialog-footer{display:flex;justify-content:flex-end;gap:8px;padding-top:16px;border-top:1px solid var(--line)}
.rich-field{display:grid;gap:0}.rich-field-label{margin-bottom:7px;color:#596171;font-size:11px;font-weight:700}.rich-toolbar{display:flex;flex-wrap:wrap;gap:5px;padding:8px;border:1px solid var(--line);border-bottom:0;border-radius:10px 10px 0 0;background:var(--surface-soft)}.rich-toolbar button{min-height:30px;padding:5px 9px;border:1px solid transparent;border-radius:7px;color:var(--text);background:transparent;font-size:10px;font-weight:750}.rich-toolbar button:hover{border-color:var(--line);background:var(--surface)}.rich-editor{min-height:170px;padding:15px;border:1px solid var(--line);border-radius:0 0 10px 10px;outline:0;color:var(--text);background:var(--surface);font-size:12px;line-height:1.65}.rich-editor:empty::before{color:var(--muted);content:attr(data-placeholder);pointer-events:none}.rich-editor:focus{border-color:#8b87f3;box-shadow:0 0 0 3px #efefff}.rich-editor img,.rich-rendered img{display:block;max-width:100%;height:auto;margin:12px 0;border-radius:10px}.rich-editor iframe,.rich-rendered iframe,.rich-editor video,.rich-rendered video{display:block;width:min(100%,720px);aspect-ratio:16/9;margin:12px 0;border:0;border-radius:10px;background:#111}.rich-editor table,.rich-rendered table{width:100%;margin:12px 0;border-collapse:collapse}.rich-editor th,.rich-editor td,.rich-rendered th,.rich-rendered td{padding:8px;border:1px solid var(--line);text-align:left}.rich-editor h1,.rich-rendered h1{font-size:21px}.rich-editor h2,.rich-rendered h2{font-size:18px}.rich-editor h3,.rich-rendered h3{font-size:15px}.rich-rendered{max-width:720px;color:var(--text);font-size:11px;line-height:1.65}.rich-rendered p{color:var(--muted)}.task-edit-form .rich-editor{min-height:150px}
.detail-dialog { width:min(760px,calc(100vw - 30px));max-width:760px; }.detail-shell{padding:24px}.detail-head{display:flex;justify-content:space-between;gap:15px}.detail-head h2{margin:7px 0;font-size:20px}.detail-head p{margin:0;color:var(--muted);font-size:11px}.detail-close{align-self:start}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:19px 0}.detail-stat{padding:12px;border-radius:10px;background:#f7f8fc}.detail-stat span,.detail-stat b{display:block}.detail-stat span{color:var(--muted);font-size:9px}.detail-stat b{margin-top:5px;font-size:11px}.flow-box{padding:14px;border:1px solid #e3e1ff;border-radius:12px;background:#f7f6ff}.flow-box h3{margin:0 0 10px;font-size:11px}.flow-row{display:flex;align-items:center;gap:8px;color:#626a79;font-size:10px}.flow-row + .flow-row{margin-top:8px}.flow-check{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#e8e6ff;color:#554fd3;font-weight:800}.ack-button{width:100%;margin-top:14px}
.connection-readiness{display:grid;grid-template-columns:36px 1fr auto;gap:11px;align-items:center;margin:20px 0;padding:14px;border:1px solid #dfdff4;border-radius:12px;background:#f7f6ff}.connection-readiness .entra-logo{background:linear-gradient(135deg,#5b56e8,#0b84a5)}.connection-readiness b,.connection-readiness small{display:block}.connection-readiness b{font-size:11px}.connection-readiness small{margin-top:4px;color:var(--muted);font-size:9px}.connection-readiness em{color:#b66b0d;font-size:9px;font-style:normal;font-weight:800}.security-note{display:grid;gap:4px;margin:18px 0;padding:13px;border-radius:10px;color:#774d0e;background:#fff6e6}.security-note b{font-size:10px}.security-note span{font-size:9px;line-height:1.45}
.graph-diagnostics{display:grid;gap:12px;margin-top:18px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fafbfe}.graph-diagnostics[data-state="ready"]{border-color:#bfe5d5;background:#f2fbf7}.graph-diagnostics[data-state="partial"]{border-color:#efd9a8;background:#fffaf0}.graph-diagnostics[data-state="error"]{border-color:#f1ccd3;background:#fff6f7}.diagnostic-heading{display:flex;justify-content:space-between;gap:14px;align-items:center}.diagnostic-heading b{font-size:11px}.diagnostic-heading span{color:var(--muted);font-size:9px;text-align:right}.diagnostic-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.diagnostic-grid>div{padding:10px;border-radius:9px;background:#fff}.diagnostic-grid span,.diagnostic-grid b{display:block}.diagnostic-grid span{color:var(--muted);font-size:8px}.diagnostic-grid b{overflow:hidden;margin-top:5px;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.dialog-footer{flex-wrap:wrap}
.toast-region{position:fixed;right:24px;bottom:24px;z-index:20;display:grid;gap:9px}.toast{min-width:280px;max-width:380px;padding:13px 15px;border:1px solid #dfdff4;border-radius:12px;background:white;box-shadow:0 16px 42px rgba(30,35,62,.16);animation:toast-in .22s ease}.toast strong,.toast span{display:block}.toast strong{font-size:11px}.toast span{margin-top:4px;color:var(--muted);font-size:10px}@keyframes toast-in{from{transform:translateY(8px);opacity:0}}
.empty-state{padding:70px 20px;text-align:center;color:var(--muted)}
@media (max-width: 1050px){.app-shell{grid-template-columns:76px 1fr}.sidebar{padding:20px 11px}.brand-title,.nav-item:not(.active) b,.nav-item{font-size:0}.brand{justify-items:center;padding-left:0;padding-right:0}.brand-mark{width:54px;height:42px}.brand-logo{left:-3px;width:60px;height:60px}.brand-mark::after{background-size:60px 60px;clip-path:circle(2px at 15px 21px)}.nav-item{justify-content:center;padding:12px}.nav-item span{font-size:18px}.sidebar-label,.project-link,.new-project,.sidebar-footer>div:not(.avatar),.sidebar-footer button{display:none}.sidebar-footer{display:flex;justify-content:center}.main-content{padding:24px}.board{grid-template-columns:repeat(4,240px)}}
@media (max-width: 760px){.main-content{padding:18px 14px}.topbar{align-items:flex-start}.top-actions{flex-wrap:wrap;justify-content:flex-end}.sync-button{display:none}.identity-banner{grid-template-columns:34px 1fr}.identity-banner em{grid-column:2;justify-self:start}.project-summary{grid-template-columns:1fr}.progress-card{padding:0;border:0}.integration-strip{grid-template-columns:1fr}.workspace-toolbar{align-items:stretch;flex-direction:column}.toolbar-actions,.search-field{width:100%}.board{grid-template-columns:repeat(4,260px)}.form-grid{grid-template-columns:1fr}.full-field{grid-column:auto}.project-summary{padding:18px}.todo-hero{align-items:flex-start;flex-direction:column}.reminder-control{width:100%;min-width:0}.todo-metrics{grid-template-columns:1fr 1fr}.notification-layout{grid-template-columns:1fr}.notification-hero{align-items:flex-start;flex-direction:column}}

.form-grid label small{color:var(--muted);font-size:9px;font-weight:500}.provisioning-status{margin:0 0 14px;color:var(--muted);font-size:10px;line-height:1.5}
.home-dashboard{display:grid;gap:20px}.home-heading,.section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.home-heading h2,.section-heading h2{margin:8px 0 4px;font-size:22px}.home-heading p{margin:0;color:var(--muted);font-size:11px}.home-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.home-metrics>div{padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.home-metrics span,.home-metrics b{display:block}.home-metrics span{color:var(--muted);font-size:10px}.home-metrics b{margin-top:8px;font-size:24px}.company-project-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.company-project-card{display:grid;gap:14px;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:0 7px 22px rgba(36,42,70,.04);cursor:pointer}.company-project-card:hover{border-color:#c9c7f4;transform:translateY(-1px)}.company-project-card header{display:flex;align-items:start;justify-content:space-between;gap:12px}.company-project-card h3{margin:3px 0 0;font-size:15px}.company-project-card header span,.company-project-card footer{color:var(--muted);font-size:9px}.company-project-card .project-percent{color:#5752cc;font-size:18px;font-weight:800}.company-project-card .project-progress{height:6px;overflow:hidden;border-radius:99px;background:#eceef5}.company-project-card .project-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6964df,#28a6bc)}.company-project-card footer{display:flex;justify-content:space-between}.home-my-work{display:grid;gap:14px;margin-top:4px;padding-top:20px;border-top:1px solid var(--line)}.home-personal-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.home-work-item{display:grid;grid-template-columns:1fr auto;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.home-work-item h3{margin:0 0 5px;font-size:12px}.home-work-item p,.home-work-item time{margin:0;color:var(--muted);font-size:9px}.home-work-item time.urgent{color:#c64e5b;font-weight:800}.home-empty{grid-column:1/-1;padding:28px;border:1px dashed #ced2df;border-radius:14px;color:var(--muted);text-align:center;font-size:11px}
.home-period-controls{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}.home-period-controls label{display:grid;gap:5px;color:var(--muted);font-size:9px;font-weight:800}.home-period-controls input{min-height:36px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;color:var(--text);background:var(--surface)}
@media (max-width:1050px){.company-project-board{grid-template-columns:repeat(2,minmax(0,1fr))}.home-personal-list{grid-template-columns:1fr}}@media (max-width:760px){.home-heading,.section-heading{align-items:flex-start;flex-direction:column}.home-metrics{grid-template-columns:1fr 1fr}.company-project-board{grid-template-columns:1fr}}
.email-page{display:grid;grid-template-rows:auto minmax(0,1fr);align-content:start;gap:10px;min-height:calc(100vh - 190px)}.email-page[hidden]{display:none}.email-page-head{display:flex;align-items:end;justify-content:space-between;gap:16px}.email-page-head h2{margin:5px 0 2px;font-size:20px}.email-page-head p{margin:0;color:var(--muted);font-size:10px}.email-page-head a{text-decoration:none}.email-page iframe{width:100%;height:100%;min-height:760px;border:1px solid var(--line);border-radius:14px;background:white;box-shadow:0 8px 28px rgba(36,42,70,.06)}.app-shell.email-mode .main-content{display:grid;grid-template-rows:auto auto minmax(0,1fr);height:100vh;overflow:hidden;padding:18px 22px}.app-shell.email-mode .identity-banner{margin-top:12px}.app-shell.email-mode .email-page{height:auto;min-height:0;margin-top:12px}.app-shell.email-mode .email-page iframe{min-height:0}@media(max-width:760px){.email-page-head{align-items:flex-start;flex-direction:column}.app-shell.email-mode .main-content{height:auto;min-height:100vh;overflow:visible;padding:14px}.app-shell.email-mode .email-page{min-height:780px}.email-page iframe{min-height:680px}}
.calendar-page{display:grid;gap:14px;margin-top:18px}.calendar-page[hidden]{display:none}.outlook-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.calendar-nav-controls,.calendar-toolbar-actions{display:flex;align-items:center;gap:8px}.calendar-nav-controls h2{min-width:150px;margin:0 0 0 8px;font-size:20px}.calendar-arrow{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:8px;color:#434a58;background:#fff;font-size:22px}.calendar-outlook-link{text-decoration:none}.calendar-view-toggle{display:flex;padding:3px;border:1px solid var(--line);border-radius:9px;background:#f5f6fa}.calendar-view-toggle button{padding:7px 10px;border:0;border-radius:7px;color:#6e7684;background:transparent;font-size:9px;font-weight:800}.calendar-view-toggle button.active{color:#fff;background:#353b48;box-shadow:0 3px 8px rgba(31,38,54,.18)}.outlook-calendar-layout{display:grid;grid-template-columns:220px minmax(0,1fr);overflow:hidden;min-height:690px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow)}.calendar-source-panel{padding:20px 17px;border-right:1px solid var(--line);background:#fafbfe}.calendar-source-panel h3{margin:18px 0 10px;font-size:11px}.calendar-source-panel label{display:flex;gap:8px;align-items:center;margin:10px 0;color:#4f5767;font-size:10px;font-weight:700}.calendar-source-panel label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-source-panel input{accent-color:#2563c4}.calendar-dot{display:inline-block;flex:0 0 auto;width:9px;height:9px;border-radius:3px}.calendar-dot.personal{background:#246fce}.calendar-dot.project-0{background:#8b5bd4}.calendar-dot.project-1{background:#cf5f83}.calendar-dot.project-2{background:#d58428}.calendar-dot.project-3{background:#258b71}.calendar-dot.project-4{background:#5d65c8}.calendar-dot.project-5{background:#a06b3b}.calendar-source-empty{margin:8px 0;color:#9299a7;font-size:9px}.calendar-source-summary{margin-top:24px;padding:12px;border-radius:10px;color:#677080;background:#fff;font-size:9px;line-height:1.55}.outlook-month-panel{min-width:0}.outlook-weekdays,.calendar-split-weekdays{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--line);background:#f8f9fb}.outlook-weekdays span,.calendar-split-weekdays span{padding:10px;text-align:center;color:#737b8a;font-size:9px;font-weight:800}.outlook-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(6,minmax(108px,1fr));min-height:650px}.outlook-day{min-width:0;padding:7px;border-right:1px solid #eaedf2;border-bottom:1px solid #eaedf2;background:#fff}.outlook-day:nth-child(7n){border-right:0}.outlook-day.muted{background:#fafbfc}.outlook-day-number{display:grid;place-items:center;width:23px;height:23px;margin-bottom:4px;color:#3f4754;font-size:9px}.outlook-day.muted .outlook-day-number{color:#a7adba}.outlook-day.today .outlook-day-number{border-radius:50%;color:#fff;background:#246fce;font-weight:800}.outlook-event{display:block;overflow:hidden;margin-top:3px;padding:4px 5px;border-left:3px solid;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-weight:700}.outlook-event span{margin-right:5px;font-weight:500}.outlook-event.personal{border-color:#246fce;color:#145ba9;background:#e6f1ff}.outlook-event.project-0{border-color:#8b5bd4;color:#6c35a9;background:#f0e8fb}.outlook-event.project-1{border-color:#cf5f83;color:#9b3657;background:#fbe9ef}.outlook-event.project-2{border-color:#d58428;color:#9a570f;background:#fff0de}.outlook-event.project-3{border-color:#258b71;color:#15624f;background:#e3f6f0}.outlook-event.project-4{border-color:#5d65c8;color:#4148a3;background:#e9eaff}.outlook-event.project-5{border-color:#a06b3b;color:#75471f;background:#f5eadf}.calendar-more{margin-top:4px;color:#2463a7;font-size:8px;font-weight:700}.outlook-event:hover{filter:brightness(.97)}.outlook-month-panel.split-view>.outlook-weekdays{display:none}.outlook-month-panel.split-view>.outlook-month-grid{display:grid;grid-template-columns:1fr;grid-template-rows:none;gap:14px;padding:14px;background:#f4f6f9}.calendar-split-block{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff}.calendar-split-block>header{display:flex;gap:8px;align-items:center;padding:11px 13px;border-bottom:1px solid var(--line)}.calendar-split-block>header h3{margin:0;font-size:11px}.calendar-split-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(6,minmax(85px,1fr))}.calendar-empty-selection{padding:60px;text-align:center;color:#7f8796;font-size:11px}@media(max-width:900px){.outlook-calendar-layout{grid-template-columns:1fr}.calendar-source-panel{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;border-right:0;border-bottom:1px solid var(--line)}.calendar-source-panel h3{margin:0}.calendar-source-summary{width:100%;margin-top:4px}.outlook-calendar-toolbar{align-items:flex-start;flex-direction:column}.calendar-toolbar-actions{flex-wrap:wrap}.outlook-month-grid,.calendar-split-days{overflow:auto;grid-template-columns:repeat(7,minmax(120px,1fr))}.outlook-weekdays,.calendar-split-weekdays{grid-template-columns:repeat(7,minmax(120px,1fr));overflow:hidden}}
.mandatory-delivery{border:1px solid #d7d5fa;background:#f5f4ff}.mandatory-delivery input:disabled{opacity:1;accent-color:#5b56e8}.mandatory-delivery p{display:grid;gap:4px;margin:0}.mandatory-delivery p b{font-size:10px}.mandatory-delivery p span{color:var(--muted);font-size:9px}
.approval-workflow{display:grid;gap:12px;margin:16px 0;padding:16px;border:1px solid #d8d7f4;border-radius:13px;background:#f8f7ff}.approval-workflow.overdue{border-color:#edc9d2;background:#fff6f8}.approval-workflow span{color:#6964d8;font-size:8px;font-weight:900;letter-spacing:.11em}.approval-workflow h3{margin:4px 0;font-size:13px}.approval-workflow p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}.workflow-actions{display:flex;flex-wrap:wrap;gap:8px}.schedule-change-form{display:grid;gap:10px;padding-top:13px;border-top:1px solid var(--line)}.schedule-change-form>b{font-size:11px}.schedule-change-form label{display:grid;gap:6px;color:#596171;font-size:9px;font-weight:800}.schedule-change-form input,.schedule-change-form textarea{width:100%;padding:9px;border:1px solid var(--line);border-radius:8px;background:#fff}.schedule-request{padding:12px;border-radius:10px;background:#fff}.schedule-request b,.schedule-request small{display:block}.schedule-request p{margin:6px 0}.schedule-request small{color:var(--muted);font-size:9px}
@media(prefers-color-scheme:dark){:root{color-scheme:dark;--bg:#11131b;--surface:#1b1e29;--surface-soft:#202431;--line:#343948;--text:#edf0f7;--muted:#a4aaba;--primary:#7772f2;--primary-dark:#6862de;--primary-soft:#292846;--green-soft:#17392e;--orange-soft:#3a2b16;--rose-soft:#40202a;--shadow:0 14px 38px rgba(0,0,0,.28)}body{background:var(--bg)}.login-gate{background:radial-gradient(circle at 50% 0,#252935 0,#171a23 48%,#101219 100%)}.login-card,.project-summary,.integration-card,.todo-hero,.todo-metrics>div,.todo-list-card,.notification-hero,.notification-list,.notification-settings,.home-metrics>div,.company-project-card,.home-work-item,.consent-admin-head,.consent-table-wrap,.outlook-calendar-layout,.outlook-day,.calendar-split-block,.detail-stat,.graph-diagnostics,.diagnostic-grid>div{border-color:var(--line);background:var(--surface);color:var(--text)}.security-consent{border-color:#5b4a32;background:#2b251d}.security-consent ul,.security-consent>p{color:#e6e1d8}.security-consent>p{border-color:#524636}.login-system-name{color:#e4e7ef}.identity-banner,.connection-readiness,.flow-box,.calendar-source-panel,.outlook-weekdays,.calendar-split-weekdays,.task-table th,.mandatory-delivery{border-color:var(--line);background:var(--surface-soft)}.outlook-day.muted{background:#171a22}.outlook-day-number{color:#d7dbe5}.calendar-source-panel label{color:#d4d8e2}.calendar-source-summary,.calendar-view-toggle{background:#272b37;color:#c6cbd6}.calendar-arrow{border-color:var(--line);color:var(--text);background:var(--surface)}.personal-todo-item,.task-table th,.task-table td,.notification-item{border-color:var(--line)}input,select,textarea{border-color:var(--line)!important;color:var(--text)!important;background:#151821!important}.email-page iframe{background:#fff}.consent-footnote{color:#aeb4c0}}
@media(prefers-color-scheme:dark){.assignee-chat-button{border-color:#504e78;color:#c9c7ff;background:#2a2945}.assignee-chat-button:hover{border-color:#7772d6;background:#35335a}}
@media(prefers-color-scheme:dark){.teams-bot-gate{background:radial-gradient(circle at 50% 0,#292842 0,#171a23 48%,#101219 100%)}.teams-bot-gate-card{border-color:var(--line);background:var(--surface)}.teams-bot-benefits span{border-color:var(--line);color:var(--text);background:var(--surface-soft)}.teams-bot-gate-card .teams-bot-gate-status{color:#8ad3b8;background:#18372e}.teams-bot-gate[data-state="error"] .teams-bot-gate-status{color:#f1aabb;background:#351e25}}
.consent-admin-page{display:grid;gap:16px;margin-top:24px}.consent-admin-page[hidden]{display:none}.consent-admin-head{display:flex;justify-content:space-between;gap:22px;align-items:center;padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff}.consent-admin-head h2{margin:8px 0 5px;font-size:22px}.consent-admin-head p{margin:0;color:var(--muted);font-size:11px}.consent-admin-actions{display:flex;gap:8px}.consent-admin-summary{display:grid;grid-template-columns:1fr auto;gap:4px 18px;align-items:center;padding:18px 20px;border-radius:14px;color:#fff;background:linear-gradient(135deg,#25262c,#45464d)}.consent-admin-summary span{font-size:11px}.consent-admin-summary b{grid-row:1/3;grid-column:2;font-size:28px}.consent-admin-summary small{color:#c4c7ce;font-size:9px}.consent-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow)}.consent-table{width:100%;border-collapse:collapse;font-size:11px}.consent-table th,.consent-table td{padding:13px 15px;border-bottom:1px solid #edf0f5;text-align:left;white-space:nowrap}.consent-table th{color:#747c8b;background:#f8f9fc;font-size:9px;letter-spacing:.05em}.consent-table tbody tr:last-child td{border-bottom:0}.consent-table td:first-child{font-weight:800}
.admin-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-section-head{display:flex;justify-content:space-between;align-items:end;padding:6px 2px 0}.admin-section-head h3{margin:0 0 5px;font-size:15px}.admin-section-head p{margin:0;color:var(--muted);font-size:10px}.admin-user-table select{min-width:118px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;color:var(--text);background:var(--surface)}.admin-user-table .secondary-button{white-space:nowrap}.report-inclusion-option{display:flex!important;align-items:center;gap:11px;padding:14px;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft)}.report-inclusion-option input{width:20px!important;height:20px;flex:0 0 20px;accent-color:var(--primary)}.report-inclusion-option span{display:grid;gap:3px}.report-inclusion-option b{color:var(--text);font-size:12px}.report-inclusion-option small{color:var(--muted);font-size:10px;font-weight:500}
.admin-m365-card{display:grid;grid-template-columns:auto minmax(240px,1fr) minmax(260px,.8fr) auto;gap:18px;align-items:center;padding:20px 22px;border:1px solid #d9e3ee;border-radius:16px;background:linear-gradient(135deg,#fff,#f6f9fc);box-shadow:var(--shadow)}.admin-m365-icon{display:grid;grid-template-columns:repeat(2,13px);grid-template-rows:repeat(2,13px);gap:3px}.admin-m365-icon i:nth-child(1){background:#f25022}.admin-m365-icon i:nth-child(2){background:#7fba00}.admin-m365-icon i:nth-child(3){background:#00a4ef}.admin-m365-icon i:nth-child(4){background:#ffb900}.admin-m365-copy>span{color:#737b8d;font-size:9px;font-weight:900;letter-spacing:.1em}.admin-m365-copy h3{margin:4px 0 5px;font-size:17px}.admin-m365-copy p{margin:0;color:var(--muted);font-size:11px}.admin-m365-briefing{display:grid;gap:3px;padding:12px 14px;border-radius:12px;background:#edf8f4}.admin-m365-briefing span{color:#2d8968;font-size:9px;font-weight:900}.admin-m365-briefing b{font-size:12px}.admin-m365-briefing small{color:#5c746b;font-size:9px}.admin-m365-open{min-height:44px;white-space:nowrap}
.admin-bulk-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.admin-bulk-actions>span{padding:7px 10px;border-radius:999px;color:var(--muted);background:var(--surface-soft);font-size:9px;font-weight:800}.admin-user-table tbody tr{transition:background .16s ease,box-shadow .16s ease}.admin-user-table tbody tr.is-dirty{background:#fff9e9;box-shadow:inset 4px 0 #e1a127}.admin-user-table tbody tr.is-dirty td:first-child::after{display:inline-flex;margin-left:8px;padding:3px 6px;border-radius:999px;color:#9a610d;background:#fff0c6;content:"변경됨";font-size:8px;font-weight:850}.admin-user-table .admin-user-save:disabled{cursor:default;opacity:.55}.admin-bulk-actions .primary-button:disabled{cursor:default;box-shadow:none;opacity:.48}
@media(max-width:760px){.login-gate{padding:16px}.login-card{padding:28px 20px}.login-logo{width:190px}.login-card h1{font-size:22px}.security-consent{padding:16px}.consent-admin-head{align-items:flex-start;flex-direction:column}.consent-admin-actions{width:100%}.consent-admin-actions button{flex:1}.admin-m365-card{grid-template-columns:auto 1fr;gap:14px}.admin-m365-briefing,.admin-m365-open{grid-column:1/-1}.admin-m365-open{width:100%}.admin-summary-grid{grid-template-columns:1fr}.admin-section-head{align-items:stretch;flex-direction:column;gap:12px}.admin-bulk-actions{justify-content:space-between}.admin-bulk-actions .primary-button{flex:1}}
@media(prefers-color-scheme:dark){.admin-m365-card{border-color:var(--line);background:linear-gradient(135deg,var(--surface),var(--surface-soft))}.admin-m365-briefing{background:#17372e}.admin-m365-briefing b{color:var(--text)}.admin-m365-briefing small{color:#a9c8bd}}

.project-access-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;color:#5c6270;background:#eef0f5;font-size:9px;font-weight:800}.project-access-badge.owner{color:#236e51;background:#e4f7ef}.project-access-badge.editor{color:#4e49bf;background:#ecebff}.project-access-badge.pending{color:#9b6410;background:#fff0d2}.dialog-description{margin:18px 0;color:var(--muted);font-size:11px;line-height:1.6}.access-reason-label{display:grid;gap:8px;color:#596171;font-size:10px;font-weight:800}.access-reason-label textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;color:var(--text);background:var(--surface)}.access-request-list{display:grid;gap:10px;margin-top:20px}.access-request-item{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.access-request-item h3{margin:0;font-size:12px}.access-request-item p{margin:5px 0 0;color:var(--muted);font-size:10px;line-height:1.5}.access-request-actions{display:flex;gap:7px}.read-only-notice{margin:14px 0;padding:12px;border:1px solid #e7d8ad;border-radius:10px;color:#7c5b1a;background:#fffaf0;font-size:10px;line-height:1.55}.task-edit-form{display:grid;gap:10px;margin:16px 0;padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.task-edit-form h3{margin:0;font-size:12px}.task-edit-form label{display:grid;gap:6px;color:var(--muted);font-size:9px;font-weight:800}.task-edit-form input,.task-edit-form select,.task-edit-form textarea{width:100%;padding:9px;border:1px solid var(--line);border-radius:8px;color:var(--text);background:var(--surface)}
.new-task-status-note{display:grid;gap:4px;padding:12px 14px;border:1px solid #c9e6da;border-radius:10px;color:#245f4b;background:#eef9f5;font-size:12px}.new-task-status-note span{color:#4d6e62}.task-progress-form{border-color:#cbc9f4;background:linear-gradient(135deg,#f8f7ff,#f3f8ff)}.task-progress-form>p{margin:0;color:var(--muted);font-size:11px}.task-progress-form-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.task-progress-form-heading h3{margin-top:3px}.task-progress-form-heading>b{color:var(--primary);font-size:18px}.task-progress-form .department-status-options label{display:block}.task-progress-form .department-status-options span{font-size:11px}.task-status-read-only{border-color:#d8d9e7;color:var(--muted);background:var(--surface-soft)}
.task-dialog .form-grid label,.task-dialog .delivery-options{font-size:13px}.task-dialog .form-grid input,.task-dialog .form-grid select,.task-dialog .form-grid textarea,.task-dialog .rich-editor{font-size:14px}.task-dialog .rich-field-label{font-size:13px}.detail-shell .rich-rendered{font-size:13px}.detail-shell .detail-stat span{font-size:11px}.detail-shell .detail-stat b{font-size:13px}.detail-shell .flow-row,.detail-shell .approval-workflow p{font-size:12px}.detail-shell .read-only-notice{font-size:12px}.detail-shell .task-edit-form label{font-size:11px}.detail-shell .task-edit-form input,.detail-shell .task-edit-form select,.detail-shell .task-edit-form textarea{font-size:14px}

.ai-page{display:grid;gap:18px;margin-top:20px}.ai-page[hidden]{display:none}.ai-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;border-radius:18px;color:#fff;background:linear-gradient(135deg,#23263d,#4b46b8 58%,#8a56b8)}.ai-hero h2{margin:8px 0 6px;font-size:24px}.ai-hero p{margin:0;color:#e7e7fa;font-size:11px}.ai-security-pill{padding:9px 12px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.12);font-size:9px;font-weight:800;white-space:nowrap}.ai-composer-card{display:grid;gap:12px;padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}.ai-composer-card>label{font-size:11px;font-weight:800}.ai-composer-card textarea{width:100%;resize:vertical;padding:15px;border:1px solid var(--line);border-radius:12px;color:var(--text);background:var(--surface-soft);font-size:12px;line-height:1.6;outline:none}.ai-composer-card textarea:focus{border-color:#817cf0;box-shadow:0 0 0 3px var(--primary-soft)}.ai-composer-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ai-provider-button{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:0;border-radius:12px;color:#fff;text-align:left}.ai-provider-button.chatgpt{background:#167a68}.ai-provider-button.claude{background:#c6673c}.ai-provider-button b,.ai-provider-button span{display:block}.ai-provider-button b{font-size:12px}.ai-provider-button span{font-size:9px;opacity:.84}.ai-browser-note{margin:0;color:var(--muted);font-size:9px;line-height:1.6}.ai-provider-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ai-provider-grid article{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.provider-orb{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;color:#fff;font-weight:900}.provider-orb.chatgpt{background:#167a68}.provider-orb.claude{background:#c6673c}.ai-provider-grid h3{margin:0 0 5px;font-size:13px}.ai-provider-grid p{margin:0;color:var(--muted);font-size:9px;line-height:1.5}

@media(max-width:760px){.ai-hero{align-items:flex-start;flex-direction:column}.ai-composer-actions,.ai-provider-grid{grid-template-columns:1fr}.ai-provider-grid article{grid-template-columns:auto 1fr}.ai-provider-grid article button{grid-column:1/-1}.access-request-item{grid-template-columns:1fr}.access-request-actions{justify-content:flex-end}}

@media(prefers-color-scheme:dark){.project-access-badge{background:#2d3140;color:#d4d8e3}.project-access-badge.owner{background:#173b30;color:#83d7b8}.project-access-badge.editor{background:#29284b;color:#b5b2ff}.project-access-badge.pending{background:#423116;color:#f0c677}.read-only-notice{border-color:#5a4826;color:#e2c17c;background:#292318}.access-request-item,.ai-composer-card,.ai-provider-grid article,.task-edit-form{border-color:var(--line);background:var(--surface)}.ai-composer-card textarea,.task-edit-form input,.task-edit-form select,.task-edit-form textarea,.access-reason-label textarea{border-color:var(--line);color:var(--text);background:#151821}}
@media(prefers-color-scheme:dark){.new-task-status-note{border-color:#315f50;color:#8addbd;background:#17372e}.new-task-status-note span{color:#a9c8bd}}
@media(prefers-color-scheme:dark){.rich-toolbar,.rich-editor{border-color:var(--line);background:var(--surface)}.rich-toolbar{background:var(--surface-soft)}.todo-status-section>h3{background:var(--surface-soft)}.todo-status-section>h3 span{color:#c5c2ff;background:#302f57}.todo-completed-pill,.task-completed-pill{color:#85d4b4;background:#17392e}}
.calendar-dot.personal-0{background:#e0448c}.calendar-dot.personal-1{background:#f2bd3f}.calendar-dot.personal-2{background:#58b45e}.calendar-dot.personal-3{background:#9ea3aa}.calendar-dot.personal-4{background:#dca55e}.calendar-dot.personal-5{background:#3889da}.calendar-dot.personal-6{background:#7f5bd7}.calendar-dot.personal-7{background:#26a2a1}.outlook-event.personal-0{border-color:#e0448c;color:#a42868;background:#fce8f2}.outlook-event.personal-1{border-color:#e3a91f;color:#8a6200;background:#fff4ce}.outlook-event.personal-2{border-color:#58b45e;color:#2e7835;background:#e8f7e9}.outlook-event.personal-3{border-color:#8e949c;color:#555c65;background:#eef0f2}.outlook-event.personal-4{border-color:#dca55e;color:#82551d;background:#fff0dc}.outlook-event.personal-5{border-color:#3889da;color:#175f9f;background:#e6f2ff}.outlook-event.personal-6{border-color:#7f5bd7;color:#573aa0;background:#eee8fb}.outlook-event.personal-7{border-color:#26a2a1;color:#116f6e;background:#def5f5}
@media (max-width: 520px){.app-shell{display:block}.sidebar{position:static;width:100%;height:auto;flex-direction:row;align-items:center}.brand{padding:0}.nav-list{display:flex;margin-left:auto}.nav-item{display:none}.nav-item.active{display:flex}.sidebar-footer{margin:0 0 0 8px;padding:0;border:0}.main-content{padding-top:14px}.topbar{display:block}.top-actions{justify-content:flex-start;margin-top:14px}.project-summary{margin-top:16px}.view-tabs{overflow:auto}.toolbar-actions{display:none}}

/* Calendar sources live under the sidebar Schedule menu so the calendar can use the full width. */
.calendar-nav-group{display:grid}.calendar-nav-button{width:100%}.calendar-nav-button i{margin-left:auto;font-style:normal;transition:transform .18s ease}.calendar-nav-button[aria-expanded="true"] i{transform:rotate(180deg)}
.calendar-nav-dropdown{max-height:390px;margin:2px 8px 10px;padding:8px 10px 12px;overflow:auto;border-left:1px solid rgba(255,255,255,.12)}.calendar-nav-dropdown[hidden]{display:none}.calendar-nav-dropdown h3{margin:12px 0 7px;color:#8f96bb;font-size:8px;letter-spacing:.08em}.calendar-nav-dropdown label{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;gap:7px;align-items:center;padding:5px 2px;color:#d5d8e9;font-size:9px;font-weight:700}.calendar-nav-dropdown label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-nav-dropdown input[type="checkbox"]{accent-color:#6e73ee}.calendar-nav-dropdown input[type="color"]{width:18px;height:18px;padding:0;border:1px solid rgba(255,255,255,.25)!important;border-radius:5px;background:transparent!important;cursor:pointer}.calendar-nav-dropdown input[type="color"]::-webkit-color-swatch-wrapper{padding:2px}.calendar-nav-dropdown input[type="color"]::-webkit-color-swatch{border:0;border-radius:3px}.calendar-nav-dropdown .calendar-source-summary{margin-top:12px;padding:9px;color:#b8bed8;background:rgba(255,255,255,.06)}
.outlook-calendar-layout{grid-template-columns:minmax(0,1fr)}.calendar-source-panel{display:none}.outlook-month-grid{grid-template-rows:repeat(6,minmax(118px,1fr))}
.outlook-event.custom-calendar-color{border-color:var(--calendar-color);color:var(--calendar-color);background:color-mix(in srgb,var(--calendar-color) 14%,transparent)}.calendar-dot.custom-calendar-color{background:var(--calendar-color)}
.outlook-event-button{width:100%;border-top:0;border-right:0;border-bottom:0;text-align:left;cursor:pointer}.outlook-event-button .event-lock{float:right;margin-left:4px;opacity:.7}.calendar-event-dialog form{padding:24px}.calendar-event-permission{margin:16px 0 0;padding:11px 12px;border-radius:10px;color:#355f50;background:#e9f7f1;font-size:10px;line-height:1.5}.calendar-event-permission.readonly{color:#775b25;background:#fff6df}.calendar-event-actions{align-items:center}.calendar-event-actions a{margin-right:auto}.danger-button{padding:9px 13px;border:1px solid #e7b4be;border-radius:8px;color:#a22f45;background:#fff1f4;font-size:10px;font-weight:800}.danger-button[hidden]{display:none}
@media(max-width:760px){.calendar-nav-dropdown{position:absolute;z-index:20;width:250px;margin-top:48px;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:#1f2345;box-shadow:0 18px 50px rgba(0,0,0,.28)}.outlook-month-grid{grid-template-rows:repeat(6,minmax(100px,1fr))}.calendar-event-actions{flex-wrap:wrap}.calendar-event-actions a{width:100%;margin:0;text-align:center}}
@media(prefers-color-scheme:dark){.calendar-event-permission{color:#91d5ba;background:#17382f}.calendar-event-permission.readonly{color:#e4c77f;background:#362d19}.danger-button{border-color:#643544;color:#f0a8b7;background:#351e25}}

.login-card{width:min(780px,100%);padding:32px 42px}.login-logo{width:190px;height:72px}.login-card h1{margin-top:12px;font-size:23px}.security-consent{margin:18px 0 14px;padding:17px 19px}.security-consent-body{max-height:360px;margin-top:14px;padding-right:8px;overflow:auto;color:#55545a;font-size:10px;line-height:1.58}.security-consent-body p{margin:0 0 11px}.security-consent-body ul{gap:4px;margin:7px 0 13px;font-size:10px}.security-consent-check{display:flex;gap:10px;align-items:flex-start;margin-top:12px;padding:13px;border-top:1px solid #eadfcf;color:#292a2f;font-size:10px;font-weight:800;line-height:1.55}.security-consent-check input{flex:0 0 auto;width:17px;height:17px;margin-top:1px;accent-color:#5b56e8}.microsoft-login-button:disabled{cursor:not-allowed}
@media(max-width:760px){.login-card{padding:24px 18px}.security-consent-body{max-height:42vh}.security-consent-check{font-size:9px}}
@media(prefers-color-scheme:dark){.security-consent-body{color:#e6e1d8}.security-consent-check{border-color:#524636;color:#f1ede5}}

/* v18: larger security notice and an embedded, session-only AI workspace. */
.security-consent-head b{font-size:16px}.security-consent-head small{font-size:10px}.security-consent-body{max-height:380px;font-size:13px;line-height:1.72}.security-consent-body p{margin-bottom:14px}.security-consent-body ul{gap:7px;margin:9px 0 16px;font-size:13px;line-height:1.65}.security-consent-check{padding:15px 13px;font-size:13px;line-height:1.65}.consent-footnote{font-size:11px}
.ai-chat-shell{display:grid;grid-template-columns:290px minmax(0,1fr);min-height:630px;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}
.ai-connection-panel{display:flex;flex-direction:column;gap:16px;padding:20px;border-right:1px solid var(--line);background:var(--surface-soft)}
.ai-provider-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ai-provider-tab{display:flex;gap:8px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:11px;color:var(--muted);background:var(--surface);cursor:pointer}.ai-provider-tab.active{border-color:#7e79eb;color:var(--text);box-shadow:0 0 0 2px var(--primary-soft)}.ai-provider-tab .provider-orb{width:28px;height:28px;border-radius:8px;font-size:11px}.ai-provider-tab b{font-size:10px}
.ai-key-card{display:grid;gap:9px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.ai-key-card>div:first-child{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:4px}.ai-key-card>div:first-child>b{font-size:12px}.ai-key-card label{color:var(--muted);font-size:9px;font-weight:800}.ai-key-card input{min-width:0;width:100%;padding:10px 11px;border:1px solid var(--line);border-radius:9px;color:var(--text);background:var(--surface-soft);font-size:11px}.ai-secret-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.ai-secret-row button{padding-inline:10px;white-space:nowrap}.ai-key-card p{margin:4px 0 0;color:var(--muted);font-size:9px;line-height:1.6}.ai-key-card a{color:#6661d7;font-size:9px;font-weight:800;text-decoration:none}.ai-key-status{padding:5px 7px;border-radius:999px;color:#8b5d19;background:#fff0d4;font-size:8px;font-weight:900;white-space:nowrap}.ai-key-status.connected{color:#226c50;background:#dff5eb}
.ai-conversation-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;background:var(--surface)}.ai-conversation-panel>header{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:17px 20px;border-bottom:1px solid var(--line)}.ai-conversation-panel>header b,.ai-conversation-panel>header span{display:block}.ai-conversation-panel>header b{font-size:13px}.ai-conversation-panel>header span{margin-top:4px;color:var(--muted);font-size:9px}
.ai-messages{display:flex;flex-direction:column;gap:14px;min-height:380px;max-height:520px;padding:24px;overflow:auto}.ai-empty-state{display:grid;place-items:center;align-content:center;min-height:100%;color:var(--muted);text-align:center}.ai-empty-state>span{display:grid;place-items:center;width:54px;height:54px;margin-bottom:13px;border-radius:17px;color:#fff;background:linear-gradient(135deg,#4b46b8,#8a56b8);font-size:20px;font-weight:900}.ai-empty-state b{color:var(--text);font-size:14px}.ai-empty-state p{max-width:360px;margin:7px 0 0;font-size:10px;line-height:1.6}.ai-message{max-width:min(78%,680px);padding:12px 14px;border-radius:14px;background:var(--surface-soft)}.ai-message.user{align-self:flex-end;color:#fff;background:#5954d6}.ai-message.assistant{align-self:flex-start;border:1px solid var(--line)}.ai-message.error{border-color:#e4aeba;color:#982f47;background:#fff1f4}.ai-message b{display:block;margin-bottom:5px;font-size:9px}.ai-message p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.65}
.ai-chat-composer{display:grid;gap:9px;padding:16px 20px 20px;border-top:1px solid var(--line)}.ai-chat-composer>label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.ai-chat-composer textarea{width:100%;min-height:82px;max-height:180px;padding:13px 14px;resize:vertical;border:1px solid var(--line);border-radius:12px;color:var(--text);background:var(--surface-soft);font-size:12px;line-height:1.55;outline:none}.ai-chat-composer textarea:focus{border-color:#817cf0;box-shadow:0 0 0 3px var(--primary-soft)}.ai-chat-composer>div{display:flex;justify-content:space-between;gap:15px;align-items:center}.ai-chat-composer>div span{color:var(--muted);font-size:9px;line-height:1.45}.ai-chat-composer button:disabled{cursor:not-allowed;opacity:.5}
@media(max-width:900px){.ai-chat-shell{grid-template-columns:1fr}.ai-connection-panel{border-right:0;border-bottom:1px solid var(--line)}.ai-key-card{grid-template-columns:1fr}.ai-messages{max-height:460px}}
@media(max-width:760px){.security-consent-body{max-height:42vh;font-size:12px}.security-consent-body ul{font-size:12px}.security-consent-check{font-size:12px}.ai-chat-shell{min-height:560px}.ai-provider-tabs{grid-template-columns:1fr 1fr}.ai-secret-row{grid-template-columns:1fr}.ai-messages{padding:16px}.ai-message{max-width:90%}.ai-chat-composer>div{align-items:flex-start;flex-direction:column}.ai-chat-composer button{width:100%}}
@media(prefers-color-scheme:dark){.ai-key-status{color:#efc779;background:#3e2e17}.ai-key-status.connected{color:#8ad3b8;background:#18372e}.ai-message.error{border-color:#6e3543;color:#f1aabb;background:#351e25}.ai-key-card a{color:#aaa6ff}}

/* v19: personal-subscription popup mode and installable WorkHub shell. */
.ai-mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ai-mode-tab{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 18px;border:1px solid var(--line);border-radius:13px;color:var(--muted);background:var(--surface);text-align:left;cursor:pointer}.ai-mode-tab b,.ai-mode-tab span{display:block}.ai-mode-tab b{color:var(--text);font-size:12px}.ai-mode-tab span{font-size:9px}.ai-mode-tab.active{border-color:#7772e8;background:var(--primary-soft);box-shadow:0 0 0 2px rgba(91,86,232,.12)}.ai-chat-shell[hidden],.ai-subscription-shell[hidden]{display:none}
.ai-subscription-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:610px;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.ai-subscription-sidebar{display:flex;flex-direction:column;gap:10px;padding:20px;border-right:1px solid var(--line);background:var(--surface-soft)}.ai-section-label{margin:0 0 4px;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.08em}.ai-popup-provider{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:13px;color:var(--text);background:var(--surface);text-align:left;cursor:pointer}.ai-popup-provider.active{border-color:#7772e8;box-shadow:0 0 0 2px var(--primary-soft)}.ai-popup-provider .provider-orb{width:38px;height:38px;border-radius:11px;font-size:13px}.ai-popup-provider b,.ai-popup-provider small{display:block}.ai-popup-provider b{font-size:11px}.ai-popup-provider small{margin-top:4px;color:var(--muted);font-size:8px}.ai-popup-provider i{color:#5b56d8;font-style:normal;font-weight:900}.ai-popup-security{margin-top:8px;padding:14px;border-radius:12px;color:#4d5766;background:#eef1f8}.ai-popup-security b{font-size:10px}.ai-popup-security p{margin:6px 0 0;font-size:9px;line-height:1.55}.ai-install-button{margin-top:auto;width:100%}
.ai-popup-workspace{display:grid;align-content:start;gap:18px;padding:28px}.ai-popup-intro{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding-bottom:20px;border-bottom:1px solid var(--line)}.ai-popup-intro .provider-orb{width:48px;height:48px;border-radius:14px}.ai-popup-intro b{font-size:16px}.ai-popup-intro p{margin:5px 0 0;color:var(--muted);font-size:10px}.ai-session-pill{padding:7px 10px;border-radius:999px;color:#216a4f;background:#e2f6ed;font-size:8px;font-weight:900;white-space:nowrap}.ai-popup-composer{display:grid;gap:10px}.ai-popup-composer label{font-size:11px;font-weight:900}.ai-popup-composer textarea{width:100%;min-height:210px;padding:16px;resize:vertical;border:1px solid var(--line);border-radius:14px;color:var(--text);background:var(--surface-soft);font-size:13px;line-height:1.65;outline:none}.ai-popup-composer textarea:focus{border-color:#817cf0;box-shadow:0 0 0 3px var(--primary-soft)}.ai-popup-actions{display:flex;justify-content:space-between;gap:20px;align-items:center}.ai-popup-actions p{max-width:520px;margin:0;color:var(--muted);font-size:9px;line-height:1.55}.ai-popup-actions p b{color:var(--text)}.ai-popup-actions button{min-width:200px}.ai-popup-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.ai-popup-steps span{display:flex;gap:9px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:11px;color:var(--muted);background:var(--surface-soft);font-size:9px}.ai-popup-steps b{display:grid;place-items:center;flex:0 0 auto;width:22px;height:22px;border-radius:7px;color:#fff;background:#5b56d8;font-size:9px}.ai-popup-caveat{margin:0;padding:12px 14px;border-radius:10px;color:#7b601d;background:#fff6df;font-size:9px;line-height:1.55}
@media(max-width:900px){.ai-subscription-shell{grid-template-columns:1fr}.ai-subscription-sidebar{border-right:0;border-bottom:1px solid var(--line)}.ai-install-button{margin-top:6px}.ai-popup-steps{grid-template-columns:1fr}}
@media(max-width:760px){.ai-mode-tabs{grid-template-columns:1fr}.ai-mode-tab{align-items:flex-start;flex-direction:column}.ai-popup-workspace{padding:20px}.ai-popup-intro{grid-template-columns:auto 1fr}.ai-session-pill{grid-column:1/-1;justify-self:start}.ai-popup-actions{align-items:stretch;flex-direction:column}.ai-popup-actions button{width:100%;min-width:0}}
@media(prefers-color-scheme:dark){.ai-popup-security{color:#cbd1df;background:#282d3a}.ai-session-pill{color:#8ad4b8;background:#17382e}.ai-popup-caveat{color:#e5c778;background:#362d19}}

/* v21: cross-platform PWA installation. */
.login-install-button{margin:12px auto 0;padding:7px 11px;border:0;color:#6962d8;background:transparent;font-size:11px;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.install-top-button{display:inline-flex;gap:7px;align-items:center}.install-top-button span{font-size:16px;line-height:1}
.install-app-dialog{width:min(680px,calc(100vw - 28px))}.install-dialog-shell{padding:25px}.install-current-device{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:15px;align-items:center;margin:22px 0 15px;padding:17px;border:1px solid #d9d7fb;border-radius:15px;background:#f7f6ff}.install-current-device img{border-radius:13px}.install-current-device b{display:block;font-size:14px}.install-current-device p{margin:6px 0 0;color:var(--muted);font-size:10px;line-height:1.55}.install-installed-note{margin:0 0 15px;padding:11px 13px;border-radius:10px;color:#226c50;background:#e6f7ef;font-size:10px;line-height:1.55}.install-platform-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.install-platform-grid article{display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:start;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.install-platform-grid article>span{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;color:#fff;background:#35395d;font-size:13px;font-weight:900}.install-platform-grid b{font-size:11px}.install-platform-grid p{margin:5px 0 0;color:var(--muted);font-size:9px;line-height:1.55}.install-footnote{margin:15px 0 0;color:var(--muted);font-size:9px;line-height:1.6}
.install-never-show{display:flex;align-items:center;gap:9px;margin-top:14px;color:var(--text);font-size:11px;font-weight:750}.install-never-show input{width:18px;height:18px;accent-color:var(--primary)}
@media(max-width:760px){.install-top-button{order:-1}.install-current-device{grid-template-columns:auto 1fr}.install-current-device button{grid-column:1/-1;width:100%}.install-platform-grid{grid-template-columns:1fr}}
@media(prefers-color-scheme:dark){.install-current-device{border-color:#454171;background:#262540}.install-platform-grid article{background:var(--surface)}.install-installed-note{color:#8ad3b8;background:#18372e}}

/* v21: phone-first layout. Tablets keep the existing desktop-style workspace. */
.mobile-app-bar{display:none}
@media(max-width:600px){
  .mobile-app-bar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;margin:-14px -12px 0;padding:5px 12px;border-bottom:1px solid var(--line);background:var(--bg)}
  .mobile-brand-mark{position:relative;display:block;width:126px;height:36px;overflow:hidden;background:transparent}
  .mobile-brand-mark>img{position:absolute;top:50%;left:0;width:126px;height:126px;object-fit:contain;transform:translateY(-50%);filter:brightness(0)}
  .mobile-brand-mark::after{position:absolute;inset:0;content:"";background:url('./assets/jcworks-logo.png') center/126px 126px no-repeat;clip-path:circle(3.2px at 36.4px 19.9px);filter:none;pointer-events:none}
  .mobile-app-bar>button{display:flex;align-items:center;gap:7px;min-height:44px;padding:8px 12px;font-size:14px;white-space:nowrap}
  .mobile-app-bar>button>span{font-size:25px;line-height:1}
  .mobile-app-bar+.topbar{margin-top:0}
  .teams-bot-gate{padding:10px}.teams-bot-gate-card{padding:28px 18px;border-radius:19px}.teams-bot-gate-logo{width:155px;height:62px}.teams-bot-gate-card h1{font-size:21px}.teams-bot-gate-card>p{font-size:12px}.teams-bot-benefits{grid-template-columns:1fr;gap:7px}.teams-bot-benefits span{grid-template-columns:28px 1fr;justify-items:start;align-items:center;text-align:left}.teams-bot-gate-actions{grid-template-columns:1fr}
  body{overflow-x:hidden;padding-bottom:calc(72px + env(safe-area-inset-bottom))}
  .app-shell{display:block;min-height:100dvh}
  .sidebar{position:fixed;z-index:60;inset:auto 0 0;height:auto;padding:7px 8px calc(7px + env(safe-area-inset-bottom));border-top:1px solid rgba(255,255,255,.14);box-shadow:0 -12px 35px rgba(17,19,35,.22)}
  .brand,.sidebar-label,#project-list,.new-project,.sidebar-footer{display:none!important}
  .nav-list{display:flex;width:100%;gap:3px;margin:0;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none}
  .nav-list::-webkit-scrollbar{display:none}
  .calendar-nav-group{display:block;flex:0 0 auto}
  .nav-item,.nav-item:not(.active){display:flex!important;flex:0 0 62px;min-height:50px;justify-content:center;gap:3px;flex-direction:column;padding:5px 4px;color:#aeb4d3;font-size:9px!important;line-height:1.1;text-align:center}
  .nav-item.active{color:#fff;background:rgba(255,255,255,.11)}
  .nav-item span{width:auto;font-size:17px}.nav-item b{position:absolute;transform:translate(16px,-14px);min-width:16px;padding:2px 4px;font-size:8px}.calendar-nav-button i{display:none}
  .calendar-nav-dropdown{position:fixed;z-index:70;right:10px;bottom:calc(70px + env(safe-area-inset-bottom));left:10px;width:auto;max-height:54vh;margin:0;padding:13px;border:1px solid rgba(255,255,255,.16);border-radius:15px;background:#1f2345;box-shadow:0 18px 55px rgba(0,0,0,.4)}
  .calendar-nav-dropdown label{padding:8px 4px;font-size:10px}
  .main-content,.app-shell.email-mode .main-content{min-height:100dvh;height:auto;padding:14px 12px calc(28px + env(safe-area-inset-bottom));overflow:visible}
  .topbar{position:sticky;z-index:20;top:0;display:block;margin:-14px -12px 0;padding:13px 12px 10px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(14px)}
  .topbar h1{overflow:hidden;font-size:20px;text-overflow:ellipsis;white-space:nowrap}.topbar .eyebrow{font-size:8px}
  .top-actions{display:flex;justify-content:flex-start;margin-top:10px;padding-bottom:2px;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.top-actions::-webkit-scrollbar{display:none}.top-actions>button{flex:0 0 auto;white-space:nowrap}.top-actions .icon-button{display:none}
  .install-top-button{order:0}.sync-button{display:none}.auth-button{max-width:150px;overflow:hidden;text-overflow:ellipsis}
  .identity-banner{grid-template-columns:30px minmax(0,1fr);margin-top:12px;padding:10px}.identity-icon{width:29px;height:29px}.identity-banner em{grid-column:2;justify-self:start}.identity-banner b{font-size:10px}
  .home-dashboard,.calendar-page,.todo-page,.notification-page,.consent-admin-page,.ai-page{gap:12px;margin-top:14px}
  .home-heading,.section-heading{gap:12px}.home-heading h2,.section-heading h2{font-size:19px}.home-heading .primary-button{width:100%}
  .home-metrics,.todo-metrics{grid-template-columns:1fr 1fr;gap:8px}.home-metrics>div,.todo-metrics>div{padding:13px}.home-metrics b,.todo-metrics b{font-size:20px}
  .company-project-board,.home-personal-list{grid-template-columns:1fr;gap:8px}.company-project-card,.home-work-item{padding:14px}
  .project-summary{grid-template-columns:1fr;gap:18px;margin-top:12px;padding:15px}.project-summary .progress-card{padding:0;border-left:0}
  .integration-strip{grid-template-columns:1fr;gap:7px}.integration-card{padding:10px 12px}
  .workspace-shell{overflow:hidden}.workspace-toolbar{gap:10px;padding:12px}.view-tabs{width:100%;overflow-x:auto}.toolbar-actions{display:flex!important;width:100%;overflow-x:auto}.toolbar-actions>*{flex:0 0 auto}
  .board{grid-template-columns:repeat(4,82vw);gap:10px;scroll-snap-type:x mandatory;padding-bottom:8px}.board-column{min-width:0;scroll-snap-align:center}
  .table-wrap,.consent-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .todo-hero,.notification-hero,.consent-admin-head,.email-page-head,.outlook-calendar-toolbar{align-items:stretch;flex-direction:column;padding:17px}.todo-hero h2,.notification-hero h2,.consent-admin-head h2{font-size:19px}
  .reminder-control{grid-template-columns:1fr;width:100%}.reminder-control small{grid-column:auto}
  .personal-todo-item{grid-template-columns:minmax(0,1fr) auto;padding:13px}.personal-todo-item .todo-side{grid-column:1;text-align:left}.personal-todo-item .todo-completed-pill{grid-column:2;grid-row:1/3}
  .notification-layout{grid-template-columns:1fr}.notification-item{grid-template-columns:auto minmax(0,1fr);padding:14px}.notification-item time{grid-column:2}
  .calendar-nav-controls{width:100%;justify-content:space-between}.calendar-nav-controls h2{min-width:0;margin:0;font-size:17px}.calendar-toolbar-actions{width:100%;overflow-x:auto;flex-wrap:nowrap}.calendar-toolbar-actions>*{flex:0 0 auto}.calendar-outlook-link{white-space:nowrap}
  .outlook-calendar-layout{min-height:0;border-radius:12px}.outlook-weekdays,.calendar-split-weekdays{grid-template-columns:repeat(7,minmax(0,1fr));overflow:visible}.outlook-weekdays span,.calendar-split-weekdays span{padding:7px 1px;font-size:8px}
  .outlook-month-grid,.calendar-split-days{grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(6,minmax(72px,1fr));min-height:440px;overflow:visible}.outlook-day{padding:3px}.outlook-day-number{width:20px;height:20px;margin-bottom:2px;font-size:8px}.outlook-event{height:7px;margin-top:2px;padding:0;border-left-width:3px;border-radius:2px;font-size:0}.calendar-more{font-size:7px}
  .email-page{min-height:calc(100dvh - 180px)}.app-shell.email-mode .email-page{min-height:calc(100dvh - 180px)}.email-page iframe{min-height:calc(100dvh - 250px);border-radius:10px}.email-page-head{padding:0}.email-page-head a{text-align:center}
  .ai-hero{padding:18px}.ai-hero h2{font-size:20px}.ai-mode-tabs{grid-template-columns:1fr}.ai-mode-tab{padding:12px}.ai-chat-shell,.ai-subscription-shell{min-height:0}.ai-connection-panel,.ai-popup-workspace{padding:14px}.ai-provider-tabs{grid-template-columns:1fr 1fr}.ai-messages{min-height:300px;max-height:48vh;padding:12px}.ai-message{max-width:92%}.ai-chat-composer{padding:12px}.ai-popup-intro{grid-template-columns:auto 1fr}.ai-popup-actions{align-items:stretch;flex-direction:column}.ai-popup-actions button{width:100%;min-width:0}
  .chat-backdrop{z-index:79}.chat-drawer{z-index:80;width:100vw;height:100dvh}.chat-header{padding:14px}.chat-sync-state,.chat-thread-banner{padding-inline:14px}.chat-messages{padding:14px}.chat-composer{padding:12px 12px calc(12px + env(safe-area-inset-bottom))}
  .task-dialog,.detail-dialog,.install-app-dialog{width:calc(100vw - 18px);max-width:none;max-height:calc(100dvh - 18px);margin:auto;border-radius:15px}.task-dialog>form,.detail-shell,.install-dialog-shell{padding:18px!important}.form-grid{grid-template-columns:1fr}.full-field{grid-column:auto}.dialog-footer{position:sticky;bottom:0;padding-top:12px;background:var(--surface)}
  .login-gate{align-items:start;padding:10px}.login-card{padding:22px 14px;border-radius:18px}.login-logo{width:160px;height:64px}.login-card h1{font-size:19px}.login-intro{font-size:11px}.security-consent{padding:13px}.security-consent-head b{font-size:14px}.security-consent-body{max-height:36vh;font-size:11px;line-height:1.62}.security-consent-body ul{font-size:11px}.security-consent-check{font-size:11px}.microsoft-login-button{padding:13px}
}

/* v23: readable calendar sources and events. */
.calendar-nav-dropdown{padding-top:12px}
.calendar-nav-dropdown h3{margin:15px 0 9px;color:#c8cde7;font-size:13px;line-height:1.35;letter-spacing:.065em}
.calendar-nav-dropdown h3:first-child{margin-top:3px}
.calendar-nav-dropdown label{min-height:39px;gap:9px;padding:7px 2px;color:#fff;font-size:14px;line-height:1.4}
.calendar-nav-dropdown label span{font-weight:750}
.calendar-nav-dropdown input[type="checkbox"]{width:17px;height:17px}
.calendar-nav-dropdown input[type="color"]{width:24px;height:24px}
.calendar-nav-dropdown .calendar-dot{width:11px;height:11px}
.calendar-nav-dropdown .calendar-source-empty{font-size:13px;line-height:1.55}
.calendar-nav-dropdown .calendar-source-summary{padding:12px;font-size:13px;line-height:1.55}
.outlook-weekdays span,.calendar-split-weekdays span{font-size:14px}
.outlook-day-number{width:28px;height:28px;font-size:14px}
.outlook-event{margin-top:4px;padding:6px 7px;font-size:14px;line-height:1.35}
.outlook-event span{font-size:13px}
.calendar-more{font-size:12px}
.shared-calendar-heading{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,var(--surface),var(--surface-soft));box-shadow:var(--shadow)}
.shared-calendar-heading[hidden]{display:none}.shared-calendar-heading h2{margin:9px 0 4px;font-size:21px}.shared-calendar-heading p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.shared-calendar-heading small{display:block;margin-top:8px;color:#536071;font-size:12px;font-weight:750}
.outlook-weekdays span,.calendar-split-weekdays span{font-size:14px}
.outlook-day-number{width:31px;height:31px;font-size:14px}
.outlook-event{min-height:31px;padding:6px 8px;font-size:14px;line-height:1.4}
.outlook-event span{font-size:13px;font-weight:650}
.calendar-more{font-size:12px}
.calendar-split-block>header h3{font-size:15px}

@media(min-width:901px){
  .app-shell.calendar-mode .main-content{padding:12px 14px 16px}
  .app-shell.calendar-mode .topbar{min-height:54px}.app-shell.calendar-mode .topbar h1{font-size:23px}.app-shell.calendar-mode .topbar .eyebrow{margin-bottom:2px}
  .app-shell.calendar-mode .identity-banner{display:none}
  .app-shell.calendar-mode .calendar-page{margin-top:8px;gap:8px}
  .app-shell.calendar-mode .shared-calendar-heading{padding:12px 16px}.app-shell.calendar-mode .shared-calendar-heading h2{margin-top:6px;font-size:18px}.app-shell.calendar-mode .shared-calendar-heading p{font-size:11px}.app-shell.calendar-mode .shared-calendar-heading small{margin-top:4px;font-size:11px}
  .app-shell.calendar-mode .outlook-calendar-layout{min-height:calc(100vh - 118px);border-radius:10px}
  .app-shell.calendar-mode .outlook-month-grid{grid-template-rows:repeat(6,minmax(125px,1fr));min-height:calc(100vh - 168px)}
  .app-shell.calendar-mode .outlook-day{padding:9px 10px}
  .app-shell.calendar-mode .outlook-calendar-toolbar{padding:2px 2px 6px}
}
.outlook-day{cursor:pointer;transition:background-color .15s ease,box-shadow .15s ease}.outlook-day:hover{background:color-mix(in srgb,var(--primary-soft) 35%,var(--surface))}.outlook-day:active{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--primary) 55%,transparent)}

@media(max-width:600px){
  .calendar-people-options{grid-template-columns:1fr}.calendar-people-heading{align-items:flex-start;flex-direction:column;gap:3px}
  .calendar-nav-dropdown{padding:14px 15px}.calendar-nav-dropdown h3{font-size:13px}.calendar-nav-dropdown label{min-height:39px;font-size:14px}
  .outlook-month-grid,.calendar-split-days{grid-template-rows:repeat(6,minmax(92px,1fr));min-height:560px}
  .outlook-day{padding:4px}.outlook-day-number{width:23px;height:23px;font-size:10px}
  .outlook-event{height:auto;min-height:22px;margin-top:3px;padding:4px;border-radius:3px;font-size:10px;line-height:1.3}
  .outlook-event span{display:block;margin:0;font-size:9px}.calendar-more{font-size:9px}
}

/* v31: centered dialogs and Outlook-style event editor. */
dialog.task-dialog,
dialog.detail-dialog,
dialog.install-app-dialog,
dialog.calendar-create-dialog{
  position:fixed;
  inset:0;
  margin:auto;
  max-height:calc(100dvh - 32px);
  overflow:auto;
  color:var(--text);
  background:var(--surface);
}

.due-soon-dialog{position:fixed;inset:0;width:min(820px,calc(100vw - 30px));max-height:calc(100dvh - 30px);margin:auto;padding:0;overflow:auto;border:0;border-radius:22px;color:var(--text);background:var(--surface);box-shadow:0 34px 110px rgba(40,27,28,.42)}
.due-soon-dialog::backdrop{background:rgba(22,25,43,.68);backdrop-filter:blur(8px)}
.due-soon-dialog[open]{animation:workhub-dialog-in .2s ease-out both}
.due-soon-shell{padding:30px}.due-soon-shell>header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:17px;align-items:center;padding-bottom:22px;border-bottom:1px solid var(--line)}
.due-soon-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;color:#fff;background:linear-gradient(145deg,#e55838,#bd271f);box-shadow:0 12px 28px rgba(198,49,33,.28);font-size:30px;font-weight:950}
.due-soon-shell header p{margin:0 0 5px;color:#c33c2d;font-size:11px;font-weight:900;letter-spacing:.14em}.due-soon-shell header h2{margin:0;font-size:29px;line-height:1.25;letter-spacing:-.045em}.due-soon-summary{margin:22px 0 14px;color:#5b6270;font-size:14px;line-height:1.65}
.due-soon-list{display:grid;gap:10px}.due-soon-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:17px 18px;border:1px solid #f0d0c8;border-radius:15px;background:linear-gradient(135deg,#fff8f4,#fff)}.due-soon-item h3{margin:0 0 6px;font-size:17px}.due-soon-item p{margin:0;color:var(--muted);font-size:12px}.due-soon-item time{padding:7px 10px;border-radius:999px;color:#a52f25;background:#fde6df;font-size:12px;font-weight:900;white-space:nowrap}
.due-soon-shell>footer{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.due-soon-shell>footer p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.due-soon-actions{display:flex;gap:9px;flex:0 0 auto}.due-soon-actions button{min-width:150px}
@media(max-width:600px){.due-soon-dialog{width:calc(100vw - 18px);max-height:calc(100dvh - 18px);border-radius:18px}.due-soon-shell{padding:21px 17px}.due-soon-shell>header{grid-template-columns:auto 1fr;gap:12px}.due-soon-shell>header .close-button{position:absolute;top:12px;right:12px}.due-soon-icon{width:46px;height:46px;border-radius:14px;font-size:24px}.due-soon-shell header h2{font-size:21px}.due-soon-item{grid-template-columns:1fr}.due-soon-item time{justify-self:start}.due-soon-shell>footer{align-items:stretch;flex-direction:column}.due-soon-actions{display:grid}.due-soon-actions button{width:100%}}
dialog.task-dialog[open],
dialog.detail-dialog[open],
dialog.install-app-dialog[open],
dialog.calendar-create-dialog[open]{animation:workhub-dialog-in .18s ease-out both}
@keyframes workhub-dialog-in{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

.calendar-create-dialog{
  width:min(1180px,calc(100vw - 34px));
  height:min(820px,calc(100dvh - 34px));
  padding:0;
  overflow:hidden!important;
  border:0;
  border-radius:18px;
  box-shadow:0 28px 90px rgba(19,25,45,.32);
}
.calendar-create-dialog::backdrop{background:rgba(20,25,46,.48);backdrop-filter:blur(5px)}
.outlook-event-editor{display:grid;grid-template-rows:auto auto minmax(0,1fr);height:100%;min-height:0;background:var(--surface)}
.outlook-editor-titlebar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px;border-bottom:1px solid var(--line);background:var(--surface-soft)}
.outlook-editor-titlebar h2{margin:1px 0 0;font-size:21px;letter-spacing:-.035em}.outlook-editor-titlebar .dialog-kicker{font-size:9px}
.outlook-editor-commandbar{display:flex;align-items:center;gap:8px;min-width:0;padding:10px 16px;border-bottom:1px solid var(--line);background:var(--surface);box-shadow:0 3px 10px rgba(30,36,58,.04)}
.outlook-save-button{flex:0 0 auto;padding:9px 18px;background:#2767bd;border-color:#2767bd;box-shadow:0 5px 13px rgba(39,103,189,.22)}
.outlook-command-separator{width:1px;height:28px;margin:0 2px;background:var(--line)}
.outlook-inline-select{display:flex;align-items:center;gap:5px;min-width:0;padding:5px 7px;border:1px solid transparent;border-radius:7px;color:var(--muted);font-size:10px;font-weight:750}.outlook-inline-select:hover{border-color:var(--line);background:var(--surface-soft)}
.outlook-inline-select select{max-width:135px;padding:4px 20px 4px 3px;border:0;outline:0;color:var(--text);background:transparent;font-size:10px;font-weight:700}
.outlook-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;min-height:0;overflow:hidden}
.outlook-editor-main{min-width:0;padding:16px 18px 20px;overflow:auto;background:var(--surface-soft)}
.outlook-editor-card,.outlook-description-card{overflow:hidden;border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:0 3px 12px rgba(31,38,59,.04)}
.outlook-editor-card{padding:10px 16px}
.outlook-calendar-picker{display:flex;align-items:center;gap:10px;width:min(360px,100%);padding:3px 0 10px 33px}.calendar-color-orb{width:12px;height:12px;border-radius:50%;background:#c6007e;box-shadow:0 0 0 4px color-mix(in srgb,#c6007e 13%,transparent)}
.outlook-calendar-picker select{min-width:0;flex:1;padding:6px 28px 6px 2px;border:0;border-bottom:1px solid #8b9099;outline:0;color:var(--text);background:transparent;font-size:12px;font-weight:750}
.outlook-title-field,.outlook-line-field,.outlook-time-row,.outlook-meeting-row{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:center;min-height:54px;border-top:1px solid var(--line)}
.outlook-title-field{border-top:0}.outlook-field-icon{display:grid;place-items:center;width:24px;height:24px;color:#626b78;font-size:17px}
.outlook-title-field input,.outlook-line-field input{width:100%;padding:12px 3px;border:0;border-bottom:1px solid transparent;outline:0;color:var(--text);background:transparent;font-size:13px}.outlook-title-field input{font-size:20px;font-weight:650}.outlook-title-field input:focus,.outlook-line-field input:focus{border-bottom-color:#2767bd}
.outlook-people-field{align-items:start;padding:12px 0}.calendar-people-picker{display:grid;gap:9px;min-width:0}.calendar-people-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.calendar-people-heading b{font-size:12px}.calendar-people-heading small{color:var(--muted);font-size:9px}.calendar-people-picker>#calendar-people-search{padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);font-size:11px}.calendar-people-selected{display:flex;gap:6px;flex-wrap:wrap;min-height:24px}.calendar-people-selected button{display:flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid #cbc9ef;border-radius:999px;color:#3e3a77;background:#f1f0ff;font-size:9px;font-weight:800}.calendar-people-selected button small{color:#716da0;font-size:8px}.calendar-people-empty{color:var(--muted);font-size:9px}.calendar-people-options{display:grid;grid-template-columns:1fr;gap:5px;max-height:260px;padding:7px;overflow:auto;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft)}.calendar-person-option{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;align-items:center;min-width:0;padding:9px 10px;border:1px solid transparent;border-radius:8px;color:var(--text);background:var(--surface);text-align:left;cursor:pointer}.calendar-person-option:hover,.calendar-person-option:focus-within,.calendar-person-option:has(input:checked){border-color:#aaa6ee;background:var(--primary-soft);outline:0}.calendar-person-option input{width:17px;height:17px;margin:0;accent-color:var(--primary)}.calendar-person-option span{display:grid;min-width:0}.calendar-person-option b,.calendar-person-option small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-person-option b{font-size:10px}.calendar-person-option small,.calendar-people-options>p{margin:0;color:var(--muted);font-size:8px}
.outlook-time-row{grid-template-columns:24px minmax(150px,1fr) auto minmax(150px,1fr) auto}.outlook-time-row input{width:100%;padding:9px;border:1px solid var(--line);border-radius:7px;color:var(--text);background:var(--surface);font-size:11px}.outlook-time-divider{color:var(--muted);font-weight:800}
.outlook-check{display:flex!important;align-items:center;gap:7px;color:var(--muted);font-size:10px;font-weight:700;white-space:nowrap}.outlook-check input{width:16px!important;height:16px;accent-color:#2767bd}
.outlook-meeting-row{grid-template-columns:24px auto 1fr;gap:12px}.outlook-switch{display:flex;align-items:center;gap:8px;color:var(--text);font-size:11px;font-weight:750}.outlook-switch input{position:absolute;opacity:0;pointer-events:none}.outlook-switch>span{position:relative;width:34px;height:19px;border-radius:999px;background:#9097a3;transition:.18s}.outlook-switch>span::after{position:absolute;top:3px;left:3px;width:13px;height:13px;border-radius:50%;background:white;box-shadow:0 1px 3px rgba(0,0,0,.25);content:"";transition:.18s}.outlook-switch input:checked+span{background:#5b5fc7}.outlook-switch input:checked+span::after{transform:translateX(15px)}
.outlook-description-card{margin-top:12px}.outlook-formatbar{display:flex;align-items:center;gap:8px;height:38px;padding:0 13px;border-bottom:1px solid var(--line);color:#596171;background:var(--surface-soft);font-size:10px}.outlook-formatbar>*{padding:3px 6px}.outlook-description-card textarea{display:block;width:100%;min-height:205px;padding:15px 17px;resize:vertical;border:0;outline:0;color:var(--text);background:var(--surface);font-size:12px;line-height:1.65}
.outlook-editor-note{margin:10px 3px 0;color:var(--muted);font-size:9px;line-height:1.5}
.outlook-schedule-preview{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;border-left:1px solid var(--line);background:var(--surface)}
.outlook-schedule-preview>header{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;gap:5px;padding:11px 10px;border-bottom:1px solid var(--line)}.outlook-schedule-preview>header strong{text-align:center;font-size:12px}.calendar-preview-arrow{display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:7px;color:var(--text);background:transparent;font-size:19px}.calendar-preview-arrow:hover{background:var(--surface-soft)}
.outlook-hour-grid{position:relative;min-height:0;overflow:auto;background:repeating-linear-gradient(to bottom,transparent 0,transparent 43px,var(--line) 43px,var(--line) 44px)}
.outlook-hour-row{position:relative;height:44px;padding:4px 8px 0 50px;color:var(--muted);font-size:9px}.outlook-hour-row>span{position:absolute;top:4px;left:9px}.outlook-preview-block{position:absolute;z-index:2;right:10px;left:49px;min-height:24px;padding:6px 9px;overflow:hidden;border-left:4px solid #2767bd;border-radius:5px;color:#154b87;background:#dceafb;font-size:10px;font-weight:800;line-height:1.35;box-shadow:0 4px 11px rgba(39,103,189,.15)}

@media(max-width:900px){
  .calendar-create-dialog{width:calc(100vw - 22px);height:calc(100dvh - 22px);border-radius:14px}
  .outlook-editor-commandbar{overflow-x:auto}.outlook-inline-select{flex:0 0 auto}.outlook-editor-layout{grid-template-columns:1fr}.outlook-schedule-preview{display:none}.outlook-editor-main{padding:13px}
}
@media(max-width:600px){
  .calendar-create-dialog{width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.outlook-editor-titlebar{padding:12px 14px}.outlook-editor-titlebar h2{font-size:18px}.outlook-editor-commandbar{padding:8px 10px}.outlook-command-separator{display:none}.outlook-inline-select span{display:none}.outlook-inline-select select{max-width:105px}
  .outlook-editor-card{padding:7px 11px}.outlook-title-field input{font-size:17px}.outlook-time-row{grid-template-columns:24px 1fr}.outlook-time-row .outlook-time-divider{display:none}.outlook-time-row label:nth-of-type(2),.outlook-time-row>.outlook-check{grid-column:2}.outlook-meeting-row{grid-template-columns:24px 1fr}.outlook-meeting-row>.outlook-check{grid-column:2}.outlook-description-card textarea{min-height:180px}
}
@media(prefers-color-scheme:dark){
  .calendar-create-dialog{background:var(--surface)}.outlook-editor-main{background:var(--bg)}.outlook-calendar-picker select,.outlook-title-field input,.outlook-line-field input,.outlook-time-row input,.outlook-description-card textarea{color:var(--text);background:var(--surface)}.outlook-preview-block{color:#aad0ff;background:#1c3859}
}

/* v142: separate overdue work and collapsible overdue/completed sections. */
.todo-status-section.overdue,.todo-table-section.overdue{border-top:8px solid var(--bg)}
.todo-section-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;margin:0;padding:14px 18px;border:0;border-bottom:1px solid var(--line);color:var(--text);background:var(--surface-soft);font:inherit;font-size:13px;font-weight:850;text-align:left;cursor:pointer}
.todo-section-toggle span{display:flex;align-items:center;gap:8px}.todo-section-toggle b{display:grid;place-items:center;min-width:22px;height:22px;padding:0 7px;border-radius:999px;color:var(--primary);background:var(--primary-soft);font-size:10px}.todo-section-toggle i{font-size:18px;font-style:normal;line-height:1;transform:rotate(180deg);transition:transform .18s ease}.is-collapsed>.todo-section-toggle i{transform:rotate(0)}
.todo-status-section.overdue>.todo-section-toggle,.todo-table-section.overdue>.todo-section-toggle{color:#b23c48;background:#fff1f2}.todo-status-section.overdue>.todo-section-toggle b,.todo-table-section.overdue>.todo-section-toggle b{color:#a52f3c;background:#ffdadd}
.personal-todo-item.is-overdue{background:linear-gradient(90deg,rgba(218,64,78,.09),var(--surface) 30%)}
.todo-section-content[hidden]{display:none!important}
@media(prefers-color-scheme:dark){
  .todo-section-toggle{border-color:var(--line);color:#edf0f7;background:var(--surface-soft)}
  .todo-status-section.overdue>.todo-section-toggle,.todo-table-section.overdue>.todo-section-toggle{color:#ffb1b8;background:#3b2026}
  .todo-status-section.overdue>.todo-section-toggle b,.todo-table-section.overdue>.todo-section-toggle b{color:#ffc5ca;background:#622a33}
  .personal-todo-item.is-overdue{background:linear-gradient(90deg,rgba(218,64,78,.17),var(--surface) 30%)}
}

/* v140: gated full sales report dialog. */
.daily-sales-detail-dialog{position:fixed;inset:0;width:min(1380px,calc(100vw - 30px));max-height:calc(100dvh - 30px);margin:auto;padding:0;overflow:auto;border:0;border-radius:24px;color:var(--text);background:var(--panel);box-shadow:0 34px 110px rgba(21,31,45,.38)}
.daily-sales-detail-dialog::backdrop{background:rgba(19,26,39,.72);backdrop-filter:blur(9px)}
.daily-sales-detail-shell{padding:28px;background:linear-gradient(180deg,rgba(42,123,145,.06),transparent 280px)}
.daily-sales-detail-shell>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.daily-sales-detail-shell>header span{color:#24788d;font-size:12px;font-weight:900;letter-spacing:.12em}.daily-sales-detail-shell>header h2{margin:5px 0;font-size:30px}.daily-sales-detail-shell>header p{margin:0;color:var(--muted);font-weight:700}
.daily-sales-detail-body{display:grid;gap:18px;padding-top:22px}.sales-detail-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.sales-detail-kpis .sales-kpi{min-height:138px}
.sales-detail-chart-grid,.sales-detail-two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.sales-detail-chart-grid>*,.sales-detail-two-column>*{min-width:0}
.sales-detail-section{padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 8px 24px rgba(35,48,78,.05)}.sales-detail-section>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.sales-detail-section h3{margin:0;font-size:19px}.sales-detail-section header p{margin:5px 0 0;color:var(--muted);font-size:13px}.sales-detail-section header>strong{font-size:20px;color:#236f84}
.sales-detail-bars{display:flex;align-items:stretch;gap:7px;height:230px;padding:14px 4px 0;border-bottom:1px solid var(--line);overflow-x:auto}.sales-detail-bars>div{position:relative;display:flex;flex-direction:column;justify-content:flex-end;flex:1 0 28px;min-width:28px;text-align:center}.sales-bar-plot{display:flex;align-items:flex-end;height:180px;flex:0 0 180px;width:100%}.sales-detail-bars i{display:block;width:100%;min-height:3px;border-radius:5px 5px 0 0;background:linear-gradient(180deg,#338ca1,#236e81)}.sales-detail-bars small{flex:none;padding:7px 0 3px;color:var(--muted);font-size:10px;white-space:nowrap}
.sales-detail-empty{display:grid;place-items:center;min-height:96px;margin:0;color:var(--muted);text-align:center;background:var(--soft);border-radius:13px}.sales-detail-courier>div{display:flex;gap:10px;flex-wrap:wrap}.sales-detail-courier>div span{padding:8px 11px;border-radius:999px;color:#246f81;background:rgba(45,133,153,.11);font-size:13px;font-weight:800}.sales-detail-courier>.sales-detail-section{margin-top:15px;padding:0;border:0;box-shadow:none}.sales-detail-courier>.sales-detail-section>header{display:none}
.sales-customer-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.sales-customer-groups h4{margin:0 0 10px;color:var(--muted)}.sales-customer-groups p{display:flex;justify-content:space-between;gap:16px;margin:0;padding:9px 0;border-bottom:1px solid var(--line)}.sales-customer-groups p b{white-space:nowrap}
.sales-detail-entries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}.sales-detail-entries>div{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.sales-detail-entries>div>span{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;color:#24788d;background:rgba(45,133,153,.11);font-size:11px;font-weight:900}.sales-detail-entries>div>b{font-size:14px}.sales-detail-entries>div>strong{font-size:14px;white-space:nowrap}.sales-detail-notes p:not(.sales-detail-empty){margin:8px 0;padding:14px 16px;border-left:4px solid #dc921f;border-radius:0 12px 12px 0;background:rgba(220,146,31,.10);line-height:1.65}
@media(max-width:950px){.sales-detail-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.sales-detail-chart-grid,.sales-detail-two-column{grid-template-columns:1fr}}
@media(max-width:650px){.daily-sales-actions{flex-wrap:wrap}.daily-sales-detail-dialog{width:calc(100vw - 14px);max-height:calc(100dvh - 14px);border-radius:18px}.daily-sales-detail-shell{padding:18px}.daily-sales-detail-shell>header h2{font-size:24px}.sales-detail-kpis,.sales-customer-groups,.sales-detail-entries{grid-template-columns:1fr}.sales-detail-section{padding:16px}}
@media(prefers-color-scheme:dark){.daily-sales-detail-dialog{border:1px solid #343948;color:#edf0f7;background:#1b1e29}.daily-sales-detail-shell{background:linear-gradient(180deg,rgba(45,133,153,.12),transparent 280px)}.sales-detail-section{border-color:#343948;background:#202431;box-shadow:none}.sales-detail-empty{color:#bdc2cf;background:#181b24}.sales-customer-groups p,.sales-detail-entries>div,.daily-sales-detail-shell>header{border-color:#343948}.sales-detail-courier>div span{color:#9edce7;background:#163b43}.sales-detail-entries>div>span{color:#9edce7;background:#163b43}.sales-detail-notes p:not(.sales-detail-empty){color:#e3e6ed;background:#352b1e}}

/* v45: project directory, department reporting and stable Outlook calendar layout. */
button.brand{width:100%;border:0;color:inherit;background:transparent;cursor:pointer}
button.brand:hover .brand-mark{transform:translateY(-1px);filter:drop-shadow(0 5px 14px rgba(255,255,255,.14))}
.home-project-group,.project-index-page,.department-work-page{display:grid;gap:14px}.home-project-group+.home-project-group{margin-top:2px}.status-badge.completed{color:#347967;background:#e6f5ef}
.project-index-hero,.department-report-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}
.project-index-hero h2,.department-report-hero h2{margin:8px 0 5px;font-size:25px}.project-index-hero p,.department-report-hero p{margin:0;color:var(--muted);font-size:11px}.project-index-actions,.department-report-controls{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.project-index-actions label,.department-report-controls label{display:grid;gap:5px;color:var(--muted);font-size:9px;font-weight:800}.project-index-actions select,.project-index-actions input,.department-report-controls select,.department-report-controls input{min-height:36px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.project-index-hero{align-items:flex-start;flex-direction:column}.project-index-actions{width:100%}.project-index-actions .project-search-field{min-width:220px;flex:1}.project-index-page>.filter-result-bar{padding:2px 4px}
.project-view-toggle{display:flex;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.project-view-toggle button{min-height:30px;padding:6px 13px;border:0;border-radius:7px;color:var(--muted);background:transparent;font-size:10px;font-weight:800}.project-view-toggle button.active{color:#fff;background:var(--primary)}.company-project-board.project-table-mode{display:block}.project-directory-table tbody tr{cursor:pointer}.project-directory-table tbody tr:hover td{background:var(--primary-soft)}
.project-directory-table{min-width:1080px}.project-directory-table th:nth-child(1){min-width:190px}.project-directory-table th:nth-child(4){min-width:190px}.project-directory-table th:nth-child(5){min-width:120px}.project-directory-table th:nth-child(7){min-width:190px}.project-state-select{min-width:105px;padding:8px 28px 8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:11px;font-weight:800}.project-state-pill{display:inline-flex;padding:6px 9px;border-radius:999px;color:#276c9f;background:#e4f3ff;font-size:10px;font-weight:850;white-space:nowrap}.project-state-pill.state-planned{color:#5d5a9d;background:#efeeff}.project-state-pill.state-hold{color:#94621b;background:#fff2dc}.project-state-pill.state-completed{color:#247257;background:#e5f7ef}.project-progress-control{display:flex;align-items:center;gap:6px}.project-progress-control input{width:62px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:11px;font-weight:800;text-align:right}.project-progress-control span{color:var(--muted);font-size:10px;font-weight:800}.project-row-save{padding:8px 10px;border:0;border-radius:8px;color:#fff;background:var(--primary);font-size:10px;font-weight:850;white-space:nowrap}.project-row-save:disabled{opacity:.55}
.task-progress-row{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:9px}.task-progress-row b{color:var(--text)}.task-progress-track{height:5px;overflow:hidden;border-radius:99px;background:#eceef5}.task-progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7772f2,#28a6bc)}
.project-index-section{display:grid;gap:10px}.project-index-section h3{margin:8px 0 0;font-size:15px}.project-task-preview{display:grid;gap:7px;margin:0;padding:4px 0;list-style:none}.project-task-preview li{display:grid;grid-template-columns:7px minmax(0,1fr) auto;gap:8px;align-items:center;color:var(--muted);font-size:9px}.project-task-preview li>span{width:7px;height:7px;border-radius:50%;background:var(--task-status-color)}.project-task-preview li b{overflow:hidden;color:var(--text);text-overflow:ellipsis;white-space:nowrap}.project-task-preview li em{font-style:normal}.project-task-preview li.empty{display:block}
.project-department-badge{padding:5px 9px;border-radius:999px;color:#225d80;background:#e4f3fb;font-size:9px;font-weight:850}
.department-tabs{display:flex;gap:7px;overflow:auto;padding-bottom:2px}.department-tabs button{flex:0 0 auto;padding:8px 12px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:var(--surface);font-size:10px;font-weight:800}.department-tabs button.active{color:#fff;border-color:var(--primary);background:var(--primary)}
.calendar-page-status{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 13px;border:1px solid var(--line);border-radius:11px;color:var(--muted);background:var(--surface-soft);font-size:12px;font-weight:700}.calendar-page-status button{flex:0 0 auto}.calendar-source-tabs{gap:9px;padding:3px 0 5px}.calendar-source-tabs[hidden]{display:none}.calendar-source-tabs button{display:flex;align-items:center;gap:8px;min-height:39px;padding:9px 13px;font-size:12px}.calendar-source-tabs button i{width:10px;height:10px}.calendar-source-tabs button b{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:99px;color:var(--muted);background:var(--surface-soft);font-size:10px}.calendar-source-tabs button.active b{color:var(--primary);background:#fff}.calendar-source-tabs>.calendar-source-empty{padding:10px 2px;font-size:12px}
.department-range-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border:1px solid #cfe5dc;border-radius:12px;color:#356d5b;background:#eef9f5;font-size:10px}.department-range-banner span{font-weight:750}.department-range-banner b{font-size:11px}
.department-report-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.department-report-summary>div{padding:15px;border:1px solid var(--line);border-radius:13px;background:var(--panel)}.department-report-summary span,.department-report-summary b{display:block}.department-report-summary span{color:var(--muted);font-size:9px}.department-report-summary b{margin-top:6px;font-size:22px}
.department-report-section{display:grid;gap:9px;padding:17px;border:1px solid var(--line);border-radius:15px;background:var(--panel)}.department-report-section>header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.department-report-section>header>p{margin:0;color:var(--muted);font-size:9px}.department-report-section header span{color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.1em}.department-report-section h3{margin:4px 0 0;font-size:16px}.department-report-section.ongoing{border-color:#cbc9f4}.department-report-section.completed{border-color:#bfe4d5}.department-report-section.delayed{border-color:#efd0b7}.department-report-section.deleted{border-style:dashed}.department-report-list{display:grid;gap:7px}.department-report-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,auto);gap:18px;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.department-report-item h4{margin:7px 0 4px;font-size:12px}.department-report-item p{margin:0;color:var(--muted);font-size:9px}.department-report-item.is-deleted{opacity:.72}.report-heading-row{display:flex;align-items:center;gap:7px}.report-kind{padding:3px 6px;border-radius:5px;font-size:8px;font-weight:850}.report-kind.project{color:#5148b4;background:#eeecff}.report-kind.personal{color:#24705b;background:#e6f7f0}.department-status-pill{padding:4px 8px;border-radius:999px;font-size:8px;font-weight:850}.department-status-pill.status-todo{color:#5551bf;background:#ecebff}.department-status-pill.status-progress{color:#276c9f;background:#e4f3ff}.department-status-pill.status-hold{color:#94621b;background:#fff2dc}.department-status-pill.status-done{color:#247257;background:#e5f7ef}.report-progress{display:grid;grid-template-columns:minmax(80px,180px) auto;gap:8px;align-items:center;margin-top:10px}.report-progress:before{content:"";grid-column:1;grid-row:1;height:6px;border-radius:99px;background:var(--surface-soft)}.report-progress>span{z-index:1;grid-column:1;grid-row:1;height:6px;border-radius:99px;background:linear-gradient(90deg,#6d72e8,#2f9b6d)}.report-progress>b{color:var(--muted);font-size:8px}.report-item-side{display:grid;grid-template-columns:auto minmax(300px,1fr);gap:14px;align-items:end}.report-item-meta{display:grid;justify-items:end;gap:4px;font-size:9px}.report-item-meta time{color:var(--muted)}.department-status-options{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:0;padding:0;border:0}.department-status-options legend{margin-bottom:5px;color:var(--muted);font-size:8px;font-weight:800}.department-status-options label{--status-color:var(--primary);cursor:pointer}.department-status-options input{position:absolute;opacity:0;pointer-events:none}.department-status-options span{display:block;min-width:62px;padding:7px 8px;border:1px solid var(--line);border-radius:8px;text-align:center;color:var(--muted);background:var(--surface);font-size:9px;font-weight:800}.department-status-options input:checked+span{color:#fff;border-color:var(--status-color);background:var(--status-color);box-shadow:0 4px 10px color-mix(in srgb,var(--status-color) 28%,transparent)}.department-status-options input:focus-visible+span{outline:2px solid var(--status-color);outline-offset:2px}.department-status-options[disabled] label{cursor:not-allowed}.department-status-options[disabled] span{opacity:.58}.danger-text-button{border:0;color:#b03a4e;background:transparent;font-size:9px;font-weight:800;cursor:pointer}.danger-text-button:disabled{opacity:.35;cursor:not-allowed}
.department-report-item[role="button"]{cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.department-report-item[role="button"]:hover{border-color:color-mix(in srgb,var(--primary) 42%,var(--line));box-shadow:0 8px 22px rgba(39,43,82,.08);transform:translateY(-1px)}.department-report-item[role="button"]:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 45%,transparent);outline-offset:2px}.department-report-item[role="button"] .department-status-options{cursor:default}.department-detail-readonly dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.department-detail-readonly dl>div{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.department-detail-readonly dt{color:var(--muted);font-size:9px;font-weight:800}.department-detail-readonly dd{margin:5px 0 0;font-size:12px;font-weight:800}.readonly-notice{margin:14px 0 0!important;padding:12px;border-radius:10px;color:var(--muted);background:var(--surface-soft);font-size:10px!important}
.task-unified-edit-form .task-progress-form{margin:4px -2px 0;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.task-draft-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid var(--line)}.task-draft-bar>span{color:var(--muted);font-size:10px;font-weight:700}.task-draft-bar>div{display:flex;gap:8px;flex-wrap:wrap}
.project-create-dialog{width:min(760px,calc(100vw - 32px))!important}.project-create-dialog form,.workflow-dialog form{padding:25px}.department-radio-fieldset{margin:16px 0;padding:15px;border:1px solid var(--line);border-radius:13px}.department-radio-fieldset legend{padding:0 6px;font-size:10px;font-weight:850}.department-radio-fieldset>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.department-radio-fieldset label{cursor:pointer}.department-radio-fieldset input{position:absolute;opacity:0}.department-radio-fieldset span{display:block;padding:9px;border:1px solid var(--line);border-radius:8px;text-align:center;font-size:10px;font-weight:750}.department-radio-fieldset input:checked+span{color:#fff;border-color:var(--primary);background:var(--primary)}.default-workflow-preview{display:grid;gap:9px;padding:14px;border-radius:12px;background:var(--surface-soft)}.default-workflow-preview>b{font-size:10px}.default-workflow-preview>div{display:flex;gap:7px;flex-wrap:wrap}.default-workflow-preview span,.workflow-chip{padding:6px 9px;border-radius:7px;color:#fff;background:var(--workflow-color);font-size:9px;font-weight:850}.default-workflow-preview small{color:var(--muted);font-size:9px}
.workflow-dialog{width:min(690px,calc(100vw - 30px))!important}.workflow-status-list{display:grid;gap:9px;margin:18px 0}.workflow-status-row{display:grid;grid-template-columns:44px minmax(140px,1fr) auto auto;gap:9px;align-items:center}.workflow-status-row input{min-height:38px}.workflow-color{width:44px;padding:4px!important}.workflow-label{padding:8px 10px;border:1px solid var(--line);border-radius:8px}
.work-status-picker{position:relative;display:inline-block;min-width:118px;color:var(--text)}.work-status-picker summary{list-style:none}.work-status-picker summary::-webkit-details-marker{display:none}.work-status-chip{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:7px 10px;border:1px solid color-mix(in srgb,var(--status-color) 48%,var(--line));border-radius:9px;color:color-mix(in srgb,var(--status-color) 74%,var(--text));background:color-mix(in srgb,var(--status-color) 15%,var(--surface));font-size:10px;font-weight:850;white-space:nowrap;cursor:pointer}.work-status-chip>i,.work-status-menu button>i{width:9px;height:9px;flex:0 0 9px;border-radius:3px;background:var(--status-color)}.work-status-chip>b{margin-left:auto;color:var(--muted);font-size:10px}.work-status-picker[data-readonly="true"] .work-status-chip{cursor:default;opacity:.8}.work-status-picker.compact{min-width:105px}.work-status-picker.compact .work-status-chip{min-height:30px;padding:6px 8px}.work-status-menu{position:absolute;z-index:55;top:calc(100% + 7px);left:0;display:grid;width:250px;padding:9px;border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:0 18px 48px rgba(25,31,57,.2)}.work-status-menu>button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;width:100%;padding:9px 10px;border:0;border-radius:8px;color:var(--text);background:transparent;text-align:left;font-size:11px;font-weight:750}.work-status-menu>button:hover{background:var(--surface-soft)}.work-status-menu>button>b{color:var(--primary)}.work-status-menu>p{margin:0;padding:9px;color:var(--muted);font-size:10px;line-height:1.5}.work-status-menu .manage-status-options{display:block;margin-top:6px;padding-top:11px;border-top:1px solid var(--line);border-radius:0;color:var(--primary);font-weight:850}.personal-todo-item>.work-status-picker .work-status-menu{right:0;left:auto}.task-card-status-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}.task-card-status-row>b{color:var(--text);font-size:10px}.table-wrap:has(.work-status-picker[open]){padding-bottom:270px}.project-detail-status-options label{--status-color:#6d72e8}.project-detail-status-options input:checked+span{border-color:var(--status-color);background:var(--status-color)}.manage-detail-status-options{justify-self:start;margin-top:8px}
.board-column{--workflow-color:#6d72e8}.board-column .column-dot{background:var(--workflow-color)!important}.timeline-bar{background:var(--workflow-color)}
.chat-target-picker{display:grid;grid-template-columns:1fr 1fr;gap:10px}.chat-target-picker label{display:grid;gap:7px;color:var(--text);font-size:11px;font-weight:850}.chat-target-picker label>span{display:flex;gap:7px;align-items:center}.chat-target-picker label i{display:grid;place-items:center;width:18px;height:18px;border-radius:6px;color:#fff;background:#6668d3;font-size:9px;font-style:normal}.chat-target-picker select{min-height:44px;padding:10px 12px;border:1px solid #dcdfea;border-radius:10px;color:var(--text);background:var(--surface);font-size:12px;font-weight:750;line-height:1.4;outline:none}.chat-target-picker select:focus{border-color:#7772eb;box-shadow:0 0 0 3px #efefff}
#detail-dialog{width:min(1120px,calc(100vw - 40px));max-width:1120px;max-height:calc(100dvh - 32px);overflow:auto}#detail-dialog .detail-shell{padding:30px 32px}
.outlook-event{display:flex!important;min-height:32px!important;flex-direction:column;align-items:flex-start;justify-content:center;padding:4px 6px!important;overflow:hidden;line-height:1.15!important;white-space:normal!important}.outlook-event-title{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:800}.outlook-event-time{display:block!important;margin:2px 0 0!important;font-size:9px!important;font-weight:650!important;opacity:.78}.outlook-event .event-lock{position:absolute;right:5px}.outlook-event-button{position:relative}
.app-shell.calendar-mode .outlook-calendar-layout{grid-template-columns:minmax(0,1fr)}
@media(max-width:1050px){.department-report-item{grid-template-columns:1fr}.report-item-side{grid-template-columns:auto 1fr}.report-item-meta{justify-items:start}}
@media(max-width:850px){.project-index-hero,.department-report-hero{align-items:stretch;flex-direction:column}.department-report-summary{grid-template-columns:repeat(2,1fr)}.department-radio-fieldset>div{grid-template-columns:repeat(2,1fr)}.home-period-controls{width:100%}.home-period-controls label{flex:1;min-width:130px}.department-report-section>header{align-items:flex-start;flex-direction:column}.department-report-item{grid-template-columns:1fr}.report-item-side{grid-template-columns:1fr}.report-item-meta{justify-items:start}.department-status-options{width:100%}}
@media(max-width:600px){.department-report-summary{grid-template-columns:1fr 1fr}.department-range-banner{align-items:flex-start;flex-direction:column}.department-status-options{grid-template-columns:repeat(2,1fr)}.department-status-options span{min-width:0}.workflow-status-row{grid-template-columns:40px 1fr}.workflow-chip,.workflow-status-row button{grid-column:auto}.chat-target-picker{grid-template-columns:1fr}.outlook-event{min-height:9px!important;padding:1px 3px!important}.outlook-event-title,.outlook-event-time{font-size:0!important}.department-radio-fieldset>div{grid-template-columns:1fr 1fr}.department-detail-readonly dl{grid-template-columns:1fr}.task-draft-bar{align-items:stretch;flex-direction:column}.task-draft-bar>div{display:grid;grid-template-columns:1fr 1fr}.todo-list-head{align-items:stretch;flex-direction:column}.todo-list-actions{display:grid;grid-template-columns:1fr 1fr}.work-status-menu{position:fixed;z-index:95;right:12px;bottom:calc(76px + env(safe-area-inset-bottom));left:12px;top:auto;width:auto;max-height:52vh;overflow:auto}.personal-todo-item>.work-status-picker{grid-column:2;grid-row:1/3;justify-self:end}.table-wrap:has(.work-status-picker[open]){padding-bottom:0}}
@media(max-width:800px){#detail-dialog{width:calc(100vw - 18px);max-width:none;max-height:calc(100dvh - 18px)}#detail-dialog .detail-shell{padding:18px}}
@media(prefers-color-scheme:dark){.project-index-hero,.department-report-hero,.department-report-section,.department-report-item{background:var(--surface)}.department-range-banner{color:#9dd8c3;border-color:#285b4a;background:#17352c}.project-department-badge{color:#a9d9f4;background:#193a4d}.report-kind.project{color:#c4bfff;background:#302d55}.report-kind.personal{color:#9ee5d0;background:#173e34}.department-status-pill.status-todo{color:#c2bfff;background:#302e55}.department-status-pill.status-progress{color:#a9d7f7;background:#19394f}.department-status-pill.status-hold{color:#efc67f;background:#46361e}.department-status-pill.status-done{color:#9ce0c6;background:#183e32}.todo-filter.active{box-shadow:0 2px 8px rgba(0,0,0,.22)}.work-status-menu{box-shadow:0 18px 48px rgba(0,0,0,.44)}}

/* v53: make the embedded mail client consume the full remaining viewport. */
.app-shell.email-mode{height:100dvh;min-height:0;overflow:hidden}
.app-shell.email-mode .sidebar{height:100dvh}
.app-shell.email-mode .main-content{
  display:flex;
  flex-direction:column;
  height:100dvh;
  min-height:0;
  overflow:hidden;
  padding:0 18px 14px;
}
.app-shell.email-mode .main-content>.topbar{display:none}
.app-shell.calendar-mode .topbar.compact,.app-shell.email-mode .topbar.compact{min-height:40px}
.app-shell.email-mode .email-page{
  flex:1 1 auto;
  display:block;
  width:100%;
  height:auto;
  min-height:0;
  margin-top:0;
  overflow:hidden;
}
.app-shell.email-mode .email-page iframe{
  display:block;
  width:100%;
  height:100%;
  min-height:0;
  overflow:hidden;
}
@media(max-width:760px){
  .app-shell.email-mode{height:100dvh;overflow:hidden}
  .app-shell.email-mode .main-content{height:100dvh;min-height:0;overflow:hidden;padding:0 10px calc(10px + env(safe-area-inset-bottom))}
  .app-shell.email-mode .email-page{min-height:0;margin-top:0}
  .app-shell.email-mode .email-page iframe{height:100%;min-height:0;border-radius:0 0 9px 9px}
}

@media(prefers-color-scheme:dark){
  .home-project-filters{border-color:var(--line);color:var(--text);background:var(--surface)!important;box-shadow:none}
  .home-project-filters input,.home-project-filters select{border-color:var(--line)!important;color:var(--text)!important;background:var(--surface-soft)!important;color-scheme:dark}
  .home-project-filters .secondary-button{border-color:var(--line);color:var(--text);background:var(--surface-soft)}
  .home-project-filters .text-button{color:#aaa6ff;background:transparent}
}
@media(prefers-color-scheme:dark){.admin-user-table tbody tr.is-dirty{background:#342b18;box-shadow:inset 4px 0 #d69a27}.admin-user-table tbody tr.is-dirty td:first-child::after{color:#ffd98b;background:#59421e}}

/* Unified Notion-style project status picker. */
.notion-task-progress-form{display:grid;gap:13px}.notion-task-status-field{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;align-items:center;padding:12px 13px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.notion-task-status-label{color:var(--muted);font-size:10px;font-weight:850}.task-detail-status-picker{justify-self:start}.task-detail-status-picker .work-status-chip{min-width:150px;justify-content:flex-start}.task-detail-status-picker .work-status-menu{z-index:120}.notion-task-progress-form>label{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;align-items:center;padding:0 13px;color:var(--muted);font-size:10px;font-weight:850}.notion-task-progress-form>label input{min-height:40px;background:var(--surface)!important}
@media(max-width:600px){.notion-task-status-field,.notion-task-progress-form>label{grid-template-columns:1fr}.task-detail-status-picker,.task-detail-status-picker .work-status-chip{width:100%}}
@media(prefers-color-scheme:dark){.notion-task-status-field{background:var(--surface)}}

/* v83: My Work table view and configurable properties. */
.todo-view-toggle{display:flex;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.todo-view-toggle button{min-height:32px;padding:6px 12px;border:0;border-radius:7px;color:var(--muted);background:transparent;font-size:10px;font-weight:850}.todo-view-toggle button.active{color:var(--primary);background:var(--surface);box-shadow:0 2px 8px rgba(35,42,72,.08)}
.todo-property-menu{position:relative}.todo-property-menu[hidden]{display:none}.todo-property-menu summary{display:flex;align-items:center;gap:7px;min-height:38px;padding:8px 12px;border:1px solid var(--line);border-radius:9px;color:var(--text);background:var(--surface);font-size:10px;font-weight:850;list-style:none;cursor:pointer}.todo-property-menu summary::-webkit-details-marker{display:none}.todo-property-menu summary:before{content:"▤";color:var(--primary)}.todo-property-menu summary span{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:99px;color:var(--primary);background:var(--primary-soft);font-size:8px}.todo-property-menu>div{position:absolute;z-index:70;top:calc(100% + 7px);right:0;display:grid;width:245px;padding:11px;border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:0 18px 48px rgba(25,31,57,.2)}.todo-property-menu strong{padding:5px 8px 8px;color:var(--muted);font-size:9px}.todo-property-menu label{display:flex;align-items:center;gap:9px;padding:8px;border-radius:8px;color:var(--text);font-size:10px;font-weight:750;cursor:pointer}.todo-property-menu label:hover{background:var(--surface-soft)}.todo-property-menu input{width:17px;height:17px;accent-color:var(--primary)}
.personal-todo-list.todo-table-view{display:grid;gap:8px;padding:0;background:var(--bg)}.todo-table-section{overflow:visible;background:var(--surface)}.todo-table-section>h3{display:flex;align-items:center;gap:8px;margin:0;padding:13px 16px;border-bottom:1px solid var(--line);font-size:12px}.todo-table-section>h3 span{display:grid;place-items:center;min-width:22px;height:22px;padding:0 7px;border-radius:99px;color:var(--primary);background:var(--primary-soft);font-size:9px}.todo-table{min-width:1180px}.todo-table tbody tr[data-todo-id]{cursor:pointer}.todo-table tbody tr[data-todo-id]:hover td{background:var(--surface-soft)}.todo-table-title{min-width:180px}.todo-table-title b,.todo-table-title small{display:block}.todo-table-title small{margin-top:4px;color:var(--muted);font-size:8px}.todo-table-project{min-width:160px;font-weight:800}.todo-table-project span{color:var(--muted)}.todo-table-summary{width:300px;max-width:300px}.todo-table-summary span{display:-webkit-box;overflow:hidden;color:var(--muted);font-size:10px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.todo-table-progress{color:var(--primary)}.todo-table time{white-space:nowrap}.todo-table time small{display:block;margin-top:4px;color:var(--muted);font-size:8px}.todo-table time.urgent,.todo-table time.urgent small{color:var(--rose);font-weight:850}.todo-priority{display:inline-flex;padding:5px 8px;border-radius:7px;font-size:9px;font-weight:850}.todo-priority.priority-high{color:#a33b52;background:var(--rose-soft)}.todo-priority.priority-medium{color:#94621b;background:var(--orange-soft)}.todo-priority.priority-low{color:#247257;background:var(--green-soft)}.todo-table-empty{padding:28px!important;color:var(--muted);text-align:center!important}
@media(max-width:900px){.todo-list-head{align-items:stretch;flex-direction:column}.todo-list-actions{flex-wrap:wrap}.todo-property-menu>div{right:auto;left:0}}
@media(max-width:1100px){.todo-advanced-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.todo-advanced-filters .wide-filter{grid-column:span 2}}
@media(max-width:760px){.todo-advanced-filters{grid-template-columns:1fr 1fr}.todo-advanced-filters .wide-filter{grid-column:1/-1}.project-index-actions>label{min-width:calc(50% - 6px);flex:1}.project-index-actions .project-search-field{min-width:100%}.project-index-actions>.primary-button{width:100%}}
@media(max-width:600px){.todo-list-actions{grid-template-columns:1fr 1fr}.todo-view-toggle{grid-column:1/-1}.todo-view-toggle button{flex:1}.todo-property-menu{position:static}.todo-property-menu>div{position:fixed;z-index:96;right:12px;bottom:calc(76px + env(safe-area-inset-bottom));left:12px;top:auto;width:auto;max-height:56vh;overflow:auto}}
@media(max-width:520px){.todo-advanced-filters{grid-template-columns:1fr}.todo-advanced-filters .wide-filter{grid-column:auto}.todo-advanced-filters .filter-result-bar{align-items:flex-start;flex-direction:column}.project-index-actions>label{min-width:100%}}
@media(prefers-color-scheme:dark){.todo-property-menu>div{box-shadow:0 18px 48px rgba(0,0,0,.45)}.todo-table tbody tr[data-todo-id]:hover td{background:var(--surface-soft)}}

/* v85: factory shared schedules. The sidebar intentionally keeps the original
   pre-hover responsive behavior defined above. */
.factory-schedule-page{display:grid;gap:14px;min-width:0}.factory-schedule-page[hidden]{display:none}.factory-schedule-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}.factory-schedule-hero h2{margin:8px 0 5px;font-size:25px}.factory-schedule-hero p{margin:0;color:var(--muted);font-size:11px}.factory-calendar-tabs,.factory-view-toggle{display:flex;gap:5px;padding:4px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.factory-calendar-tabs{width:max-content;max-width:100%;overflow:auto}.factory-calendar-tabs button,.factory-view-toggle button{min-height:36px;padding:8px 15px;border:0;border-radius:8px;color:var(--muted);background:transparent;font-size:11px;font-weight:850;white-space:nowrap}.factory-calendar-tabs button.active,.factory-view-toggle button.active{color:#fff;background:var(--primary);box-shadow:0 4px 12px rgba(92,86,220,.22)}.factory-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px}.factory-toolbar .calendar-nav-controls{display:flex;align-items:center;gap:7px}.factory-toolbar h2{min-width:130px;margin:0 0 0 6px;font-size:17px}.factory-schedule-status{padding:10px 13px;border:1px solid var(--line);border-radius:10px;color:var(--muted);background:var(--surface);font-size:10px;font-weight:750}.factory-schedule-view{min-width:0}.factory-calendar-shell,.factory-table-wrap{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.factory-weekdays,.factory-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.factory-weekdays span{padding:10px;border-right:1px solid var(--line);color:var(--muted);text-align:center;font-size:9px;font-weight:850}.factory-weekdays span:last-child{border-right:0}.factory-month-grid{border-top:1px solid var(--line)}.factory-day{min-width:0;min-height:132px;padding:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface)}.factory-day:nth-child(7n){border-right:0}.factory-day:nth-last-child(-n+7){border-bottom:0}.factory-day>span{display:block;margin-bottom:7px;color:var(--muted);font-size:10px;font-weight:850}.factory-day.muted{background:var(--surface-soft);opacity:.66}.factory-event-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 8px;width:100%;margin:0 0 6px;padding:10px;border:1px solid color-mix(in srgb,var(--factory-status) 38%,var(--line));border-left:4px solid var(--factory-status);border-radius:9px;color:var(--text);background:color-mix(in srgb,var(--factory-status) 9%,var(--surface));text-align:left;cursor:pointer}.factory-event-card span{align-self:start;padding:3px 6px;border-radius:5px;color:#fff;background:var(--factory-status);font-size:8px;font-weight:850}.factory-event-card b{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.factory-event-card small,.factory-event-card p{grid-column:2;margin:0;color:var(--muted);font-size:9px;line-height:1.45}.factory-event-card p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.factory-event-card.compact{grid-template-columns:auto minmax(0,1fr);gap:5px;padding:5px 6px;border-radius:6px}.factory-event-card.compact span{padding:2px 4px;font-size:7px}.factory-event-card.compact b{font-size:9px}.factory-more{display:block;color:var(--muted);font-size:8px;font-weight:800}.factory-timeline{display:grid;gap:9px}.factory-timeline article{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;align-items:start}.factory-timeline time{padding:12px;color:var(--muted);text-align:right;font-size:10px;font-weight:800;line-height:1.5}.factory-timeline .factory-event-card{margin:0}.factory-table-wrap{overflow:auto}.factory-table{width:100%;min-width:920px;border-collapse:collapse}.factory-table th,.factory-table td{padding:13px 14px;border-bottom:1px solid var(--line);text-align:left;font-size:10px}.factory-table th{color:var(--muted);background:var(--surface-soft);font-size:9px}.factory-table tbody tr{cursor:pointer}.factory-table tbody tr:hover td{background:var(--surface-soft)}.factory-status-pill{display:inline-flex;padding:5px 8px;border-radius:7px;color:#fff;background:var(--factory-status);font-size:9px;font-weight:850;white-space:nowrap}.factory-board{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:10px;overflow:auto}.factory-board>section{min-height:300px;padding:12px;border:1px solid var(--line);border-top:4px solid var(--factory-status);border-radius:13px;background:var(--surface-soft)}.factory-board>section>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.factory-board h3{margin:0;font-size:12px}.factory-board header b{display:grid;place-items:center;min-width:22px;height:22px;border-radius:99px;color:#fff;background:var(--factory-status);font-size:9px}.factory-schedule-dialog{width:min(760px,calc(100vw - 28px));max-width:760px}.factory-schedule-dialog form{padding:24px}.factory-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:16px}.factory-form-grid label{display:grid;gap:6px;color:var(--muted);font-size:10px;font-weight:850}.factory-form-grid input,.factory-form-grid select,.factory-form-grid textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:9px;color:var(--text);background:var(--surface);font:inherit}.factory-form-grid textarea{resize:vertical;line-height:1.6}.factory-form-grid .full-field{grid-column:1/-1}.factory-schedule-dialog .dialog-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.factory-schedule-dialog .danger-button{margin-right:auto}
@media(max-width:850px){.factory-schedule-hero,.factory-toolbar{align-items:stretch;flex-direction:column}.factory-schedule-hero .primary-button{align-self:flex-start}.factory-view-toggle{width:max-content;max-width:100%;overflow:auto}.factory-day{min-height:105px}.factory-event-card.compact span{display:none}.factory-event-card.compact{grid-template-columns:1fr}.factory-timeline article{grid-template-columns:105px minmax(0,1fr)}}
@media(max-width:600px){.factory-schedule-hero{padding:16px}.factory-schedule-hero h2{font-size:21px}.factory-form-grid{grid-template-columns:1fr}.factory-form-grid .full-field{grid-column:auto}.factory-calendar-shell{overflow:auto}.factory-weekdays,.factory-month-grid{min-width:720px}.factory-day{min-height:94px}.factory-schedule-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.factory-schedule-dialog form{padding:17px}}
@media(prefers-color-scheme:dark){.factory-schedule-hero,.factory-calendar-shell,.factory-table-wrap,.factory-schedule-status{background:var(--surface)}.factory-event-card{background:color-mix(in srgb,var(--factory-status) 13%,var(--surface))}}

/* v89: draggable progress controls and company board. */
input[type="range"]{accent-color:var(--primary);cursor:grab}input[type="range"]:active{cursor:grabbing}
.project-directory-table th:nth-child(7){min-width:310px}.project-progress-control{min-width:270px}.project-progress-control input[type="range"]{width:150px;padding:0;border:0;background:transparent}.project-progress-control output{min-width:38px;color:var(--primary);font-size:11px;font-weight:900;text-align:right}.progress-range-field>span{display:flex;align-items:center;gap:10px}.progress-range-field input[type="range"]{flex:1;min-width:140px}.progress-range-field output{min-width:42px;color:var(--primary);font-size:11px;font-weight:900;text-align:right}.notion-task-progress-form>label input[type="range"]{min-height:auto;padding:0;background:transparent!important}
.board-page{display:grid;gap:14px;min-width:0}.board-page[hidden]{display:none}.board-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}.board-hero h2{margin:8px 0 5px;font-size:25px}.board-hero p{margin:0;color:var(--muted);font-size:11px}.board-tabs{display:flex;width:max-content;max-width:100%;gap:5px;padding:4px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);overflow:auto}.board-tabs button{min-height:38px;padding:8px 18px;border:0;border-radius:8px;color:var(--muted);background:transparent;font-size:11px;font-weight:850;white-space:nowrap}.board-tabs button.active{color:#fff;background:var(--primary);box-shadow:0 4px 12px rgba(92,86,220,.22)}.board-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;padding:13px 15px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.board-toolbar>div{display:flex;align-items:center;gap:9px}.board-toolbar b{font-size:14px}.board-toolbar span{padding:4px 7px;border-radius:99px;color:var(--primary);background:var(--primary-soft);font-size:9px;font-weight:850}.board-toolbar label{display:grid;gap:5px;color:var(--muted);font-size:9px;font-weight:850}.board-toolbar input{width:min(320px,42vw);padding:10px 12px;border:1px solid var(--line);border-radius:9px;color:var(--text);background:var(--surface);font:inherit}.board-list{display:grid;border:1px solid var(--line);border-radius:15px;background:var(--surface);overflow:hidden}.board-row{display:grid;grid-template-columns:90px minmax(240px,1fr) 90px 180px;gap:14px;align-items:center;width:100%;padding:15px 17px;border:0;border-bottom:1px solid var(--line);color:var(--text);background:var(--surface);text-align:left;cursor:pointer}.board-row:last-child{border-bottom:0}.board-row:hover{background:var(--surface-soft)}.board-row-type{width:max-content;padding:5px 8px;border-radius:7px;color:var(--primary);background:var(--primary-soft);font-size:9px;font-weight:900}.board-row-main{display:grid;gap:5px;min-width:0}.board-row-main b{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.board-row-main small{overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.board-row-files{color:var(--muted);font-size:9px;font-weight:800}.board-row-author{display:grid;gap:4px;font-size:9px;font-weight:800}.board-row-author small{color:var(--muted)}.board-empty{padding:45px 20px;text-align:center}.board-empty b{font-size:14px}.board-empty p{margin:8px 0 0;color:var(--muted);font-size:10px}.board-dialog{width:min(760px,calc(100vw - 28px));max-width:760px;max-height:calc(100dvh - 28px);padding:0;border:0;border-radius:18px;color:var(--text);background:var(--surface);box-shadow:0 28px 90px rgba(20,25,48,.35)}.board-dialog::backdrop{background:rgba(22,26,48,.54);backdrop-filter:blur(5px)}.board-dialog form,.board-detail-dialog article{padding:24px}.board-form-grid{display:grid;grid-template-columns:1fr;gap:13px;margin-top:16px}.board-form-grid label{display:grid;gap:6px;color:var(--muted);font-size:10px;font-weight:850}.board-form-grid input,.board-form-grid select,.board-form-grid textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:9px;color:var(--text);background:var(--surface);font:inherit}.board-form-grid textarea{resize:vertical;line-height:1.6}.board-file-drop input{padding:12px;background:var(--surface-soft)}.board-file-drop span{color:var(--muted);font-size:9px}.board-detail-dialog{width:min(900px,calc(100vw - 28px));max-width:900px}.board-detail-dialog .detail-head p{margin:7px 0 0;color:var(--muted);font-size:9px}.board-detail-body{min-height:160px;margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);font-size:11px;line-height:1.75}.board-attachments{margin-top:16px}.board-attachments h3{display:flex;gap:7px;align-items:center;font-size:12px}.board-attachments h3 span{display:grid;place-items:center;min-width:22px;height:22px;border-radius:99px;color:var(--primary);background:var(--primary-soft);font-size:9px}.board-attachments>div{display:grid;gap:8px}.board-attachments button{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;color:var(--text);background:var(--surface);text-align:left}.board-attachments button span{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;color:#fff;background:var(--primary)}.board-attachments button b{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.board-attachments button small{color:var(--muted);font-size:9px}
@media(max-width:760px){.board-hero,.board-toolbar{align-items:stretch;flex-direction:column}.board-hero .primary-button{align-self:flex-start}.board-toolbar input{width:100%}.board-row{grid-template-columns:auto minmax(0,1fr);gap:8px 10px}.board-row-files{grid-column:1}.board-row-author{grid-column:2}.board-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.board-dialog form,.board-detail-dialog article{padding:17px}.project-progress-control{min-width:240px}}
@media(prefers-color-scheme:dark){.board-hero,.board-toolbar,.board-list,.board-row{background:var(--surface)}.board-row:hover{background:var(--surface-soft)}}

/* v92: board editing, pinned notices and clearer business navigation. */
.nav-item>span{display:inline-grid;place-items:center;min-width:24px;font-size:17px;line-height:1}
.secondary-nav-item{opacity:.9}
.board-row.pinned{background:color-mix(in srgb,var(--primary-soft) 58%,var(--surface))}
.board-row.pinned .board-row-type{color:#8b5d00;background:#fff1c8}
.board-pin-option{display:flex!important;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}
.board-pin-option input{flex:0 0 auto;width:18px;height:18px;margin:0;accent-color:var(--primary)}
.board-pin-option span{display:grid;gap:3px}.board-pin-option b{color:var(--text);font-size:11px}.board-pin-option small{color:var(--muted);font-size:9px}
@media(prefers-color-scheme:dark){.board-row.pinned{background:color-mix(in srgb,var(--primary) 12%,var(--surface))}.board-row.pinned .board-row-type{color:#ffd77d;background:#493a16}}

.project-calendar-view-toggle{display:flex;align-self:flex-end;gap:5px;padding:4px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}
.project-calendar-view-toggle button{min-height:36px;padding:8px 15px;border:0;border-radius:8px;color:var(--muted);background:transparent;font-size:11px;font-weight:850}
.project-calendar-view-toggle button.active{color:#fff;background:var(--primary);box-shadow:0 4px 12px rgba(92,86,220,.22)}
.outlook-weekdays[hidden]{display:none}
.integrated-calendar-grid.project-calendar-alternative{display:block!important;width:100%;min-width:0;min-height:540px;padding:14px;background:var(--surface-soft)}
.integrated-calendar-grid.project-calendar-alternative>.horizontal-timeline{width:100%;max-width:100%}
#calendar-page,#calendar-page .outlook-calendar-layout,#calendar-page .outlook-month-panel,#calendar-page .project-calendar-alternative,#calendar-page .project-calendar-alternative>.horizontal-timeline,#calendar-page .project-calendar-alternative .horizontal-timeline-scroll{width:100%;min-width:0;box-sizing:border-box}
#calendar-page .project-calendar-alternative>.horizontal-timeline{display:block!important;justify-self:stretch;align-self:stretch}
.project-calendar-timeline{display:grid;gap:9px}.project-calendar-timeline article{display:grid;grid-template-columns:145px minmax(0,1fr);gap:12px;align-items:start}.project-calendar-timeline time{padding:14px;color:var(--muted);font-size:10px;font-weight:850;text-align:right}
.project-calendar-event-card{display:grid;gap:5px;width:100%;padding:12px 14px;border:1px solid color-mix(in srgb,var(--calendar-color) 35%,var(--line));border-left:5px solid var(--calendar-color);border-radius:10px;color:var(--text);background:color-mix(in srgb,var(--calendar-color) 8%,var(--surface));text-align:left;cursor:pointer}.project-calendar-event-card:disabled{cursor:default;opacity:1}.project-calendar-event-card span,.project-calendar-event-card small{color:var(--muted);font-size:9px}.project-calendar-event-card b{font-size:12px}
.project-calendar-board{display:grid;grid-template-columns:repeat(3,minmax(250px,1fr));gap:12px;overflow:auto}.project-calendar-board>section{min-height:420px;padding:12px;border:1px solid var(--line);border-top:4px solid var(--calendar-color);border-radius:13px;background:var(--surface)}.project-calendar-board header{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;margin-bottom:11px}.project-calendar-board header i{width:10px;height:10px;border-radius:99px;background:var(--calendar-color)}.project-calendar-board header b{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.project-calendar-board header span{display:grid;place-items:center;min-width:23px;height:23px;border-radius:99px;color:#fff;background:var(--calendar-color);font-size:9px;font-weight:900}.project-calendar-board section>div{display:grid;gap:8px}.project-calendar-board section>div>p{color:var(--muted);font-size:9px;text-align:center}
@media(max-width:760px){#project-calendar-heading{align-items:stretch;flex-direction:column}.project-calendar-view-toggle{align-self:flex-start}.project-calendar-timeline article{grid-template-columns:1fr}.project-calendar-timeline time{text-align:left;padding:4px 2px}.project-calendar-board{grid-template-columns:repeat(3,82vw)}}

/* v91: native Microsoft OneNote and OneDrive workspace. */
.m365-library-page{display:grid;gap:14px;min-width:0}.m365-library-page[hidden]{display:none}.m365-library-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}.m365-library-hero h2{margin:8px 0 5px;font-size:25px}.m365-library-hero p{margin:0;color:var(--muted);font-size:11px}.m365-library-actions{display:flex;gap:8px;flex-wrap:wrap}
.onenote-shell{display:grid;grid-template-columns:230px 310px minmax(0,1fr);min-height:620px;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.onenote-notebooks,.onenote-pages{min-width:0;border-right:1px solid var(--line);background:var(--surface)}.onenote-notebooks>header,.onenote-pages>header{display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:12px 14px;border-bottom:1px solid var(--line)}.onenote-notebooks>header b{font-size:12px}.onenote-notebooks>header span,.onenote-pages>header span{padding:4px 7px;border-radius:99px;color:var(--primary);background:var(--primary-soft);font-size:9px;font-weight:850}.onenote-pages>header label{display:grid;gap:4px;color:var(--muted);font-size:8px;font-weight:850}.onenote-pages select{min-width:160px;padding:8px 28px 8px 9px;border:1px solid var(--line);border-radius:8px;color:var(--text);background:var(--surface)}#onenote-notebook-list,#onenote-page-list{max-height:calc(100dvh - 285px);min-height:540px;overflow:auto}.onenote-list-button{display:grid;grid-template-columns:35px minmax(0,1fr);gap:10px;align-items:center;width:100%;padding:13px 14px;border:0;border-bottom:1px solid var(--line);color:var(--text);background:transparent;text-align:left;cursor:pointer}.onenote-list-button:hover,.onenote-list-button.active{background:var(--primary-soft)}.onenote-list-button>span{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;color:#fff;background:#6c4bba;font-size:15px;font-weight:900}.onenote-list-button b,.onenote-list-button small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.onenote-list-button b{font-size:10px}.onenote-list-button small{margin-top:4px;color:var(--muted);font-size:8px}.onenote-page-button{display:grid;gap:5px;width:100%;padding:14px;border:0;border-bottom:1px solid var(--line);color:var(--text);background:transparent;text-align:left;cursor:pointer}.onenote-page-button:hover,.onenote-page-button.active{background:var(--surface-soft)}.onenote-page-button b{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.onenote-page-button time{color:var(--muted);font-size:8px}.onenote-preview{min-width:0;padding:30px;overflow:auto;background:var(--surface)}.onenote-preview>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--line)}.onenote-preview h3{margin:8px 0 0;font-size:24px}.onenote-preview p{color:var(--muted);font-size:10px;line-height:1.65}.onenote-preview-content{max-width:860px;padding:22px 0;color:var(--text);font-size:11px;line-height:1.75}.onenote-preview-content img{max-width:100%;height:auto}.m365-empty-icon{display:grid;place-items:center;width:54px;height:54px;margin:85px auto 14px;border-radius:16px;color:#fff;background:linear-gradient(145deg,#7656c8,#54349e);font-size:24px}.onenote-preview>.m365-empty-icon~h3,.onenote-preview>.m365-empty-icon~p{text-align:center}.onenote-create-dialog .dialog-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
.onedrive-tabs{display:flex;width:max-content;max-width:100%;gap:5px;padding:4px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.onedrive-tabs button{min-height:38px;padding:8px 20px;border:0;border-radius:8px;color:var(--muted);background:transparent;font-size:11px;font-weight:850}.onedrive-tabs button.active{color:#fff;background:#2878d1}.onedrive-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.onedrive-toolbar nav{display:flex;align-items:center;gap:5px;min-width:0;overflow:auto}.onedrive-toolbar nav button{padding:6px 8px;border:0;border-radius:7px;color:#2878d1;background:transparent;font-size:10px;font-weight:850;white-space:nowrap}.onedrive-toolbar nav button:hover{background:var(--primary-soft)}.onedrive-toolbar nav i{color:var(--muted);font-style:normal}.onedrive-toolbar>div{display:flex;align-items:center;gap:10px}.onedrive-toolbar span{color:var(--muted);font-size:9px;font-weight:800}.onedrive-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.onedrive-table{width:100%;min-width:900px;border-collapse:collapse}.onedrive-table th,.onedrive-table td{padding:13px 15px;border-bottom:1px solid var(--line);text-align:left;font-size:10px}.onedrive-table th{color:var(--muted);background:var(--surface-soft);font-size:9px}.onedrive-table tbody tr:last-child td{border-bottom:0}.onedrive-name{display:flex;align-items:center;gap:10px;min-width:300px}.onedrive-name button{overflow:hidden;border:0;color:var(--text);background:transparent;font-size:10px;font-weight:850;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.onedrive-name button:hover{color:#2878d1;text-decoration:underline}.onedrive-file-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:9px;color:#fff;background:#2878d1;font-size:15px;font-weight:900}.onedrive-file-icon.folder{color:#735418;background:#f6c851}.onedrive-open-button{padding:7px 10px;border:1px solid var(--line);border-radius:8px;color:#2878d1;background:var(--surface);font-size:9px;font-weight:850}.m365-loading{padding:34px 18px;color:var(--muted);text-align:center;font-size:10px}.onedrive-table .m365-loading{height:160px}.m365-error{padding:18px;color:#a9465c;background:var(--rose-soft);font-size:10px;line-height:1.6}
@media(max-width:1050px){.onenote-shell{grid-template-columns:190px 260px minmax(0,1fr)}.onenote-preview{padding:22px}}
@media(max-width:780px){.m365-library-hero,.onedrive-toolbar{align-items:stretch;flex-direction:column}.m365-library-actions button{flex:1}.onenote-shell{display:block;overflow:visible}.onenote-notebooks,.onenote-pages{border-right:0;border-bottom:1px solid var(--line)}#onenote-notebook-list,#onenote-page-list{display:flex;min-height:0;max-height:none;overflow:auto}.onenote-list-button{min-width:190px;border-right:1px solid var(--line);border-bottom:0}.onenote-page-button{min-width:210px;border-right:1px solid var(--line);border-bottom:0}.onenote-preview{min-height:400px}.onedrive-toolbar>div{justify-content:space-between}.m365-library-hero{padding:17px}}
@media(prefers-color-scheme:dark){.m365-library-hero,.onenote-shell,.onenote-notebooks,.onenote-pages,.onenote-preview,.onedrive-toolbar,.onedrive-table-wrap{background:var(--surface)}}
.onedrive-navigation{display:flex;align-items:center;flex:1;min-width:0;gap:10px}.onedrive-navigation nav{flex:1}.onedrive-back-button{flex:0 0 auto;white-space:nowrap}.onedrive-back-button:disabled{opacity:.45;cursor:not-allowed}
.admin-migration-card{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:18px 20px;border:1px solid #ead1d6;border-radius:15px;background:#fff8f9}.admin-migration-card>div{display:grid;gap:4px}.admin-migration-card span{color:#a9465c;font-size:8px;font-weight:900;letter-spacing:.12em}.admin-migration-card h3{margin:0;font-size:15px}.admin-migration-card p{margin:2px 0;color:var(--text);font-size:10px;font-weight:750}.admin-migration-card small{color:var(--muted);font-size:9px}.admin-migration-card .danger-button{flex:0 0 auto;min-height:40px}
@media(max-width:700px){.admin-migration-card{align-items:stretch;flex-direction:column}.admin-migration-card .danger-button{width:100%}}
@media(prefers-color-scheme:dark){.admin-migration-card{border-color:#613645;background:#2d2026}}
/* v94: consistent 30-day horizontal timelines. */
.horizontal-timeline{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.horizontal-timeline>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 14px;border-bottom:1px solid var(--line);background:var(--surface-soft)}.horizontal-timeline>header>div:first-child{display:flex;align-items:baseline;gap:9px}.horizontal-timeline>header b{font-size:12px}.horizontal-timeline>header span{color:var(--muted);font-size:9px}.horizontal-timeline>header button{width:34px;height:30px;margin-left:5px;border:1px solid var(--line);border-radius:8px;color:var(--text);background:var(--surface);font-size:19px;cursor:pointer}.horizontal-timeline-scroll{overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-gutter:stable}.horizontal-timeline-canvas{width:2760px;min-height:180px}.horizontal-timeline-dates,.horizontal-timeline-row{display:grid;grid-template-columns:180px 2580px}.horizontal-timeline-dates{position:sticky;top:0;z-index:2;background:var(--surface)}.horizontal-timeline-dates>span,.horizontal-timeline-dates time{min-height:50px;padding:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.horizontal-timeline-dates>span{display:flex;align-items:center;color:var(--muted);font-size:9px;font-weight:850}.horizontal-timeline-dates time{display:inline-flex;float:left;flex-direction:column;align-items:center;justify-content:center;width:86px}.horizontal-timeline-dates time.today{color:#fff;background:var(--primary)}.horizontal-timeline-dates time b{font-size:10px}.horizontal-timeline-dates time small{font-size:8px}.horizontal-timeline-label{display:flex;flex-direction:column;justify-content:center;min-height:58px;padding:9px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.horizontal-timeline-label b,.horizontal-timeline-label small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.horizontal-timeline-label b{font-size:10px}.horizontal-timeline-label small{margin-top:3px;color:var(--muted);font-size:8px}.horizontal-timeline-track{position:relative;min-height:58px;border-bottom:1px solid var(--line);background:repeating-linear-gradient(90deg,transparent 0,transparent 85px,var(--line) 85px,var(--line) 86px)}.horizontal-timeline-bar{position:absolute;top:11px;left:calc(var(--timeline-left) * 86px + 4px);width:calc(var(--timeline-span) * 86px - 8px);height:36px;padding:0 10px;overflow:hidden;border:0;border-left:4px solid color-mix(in srgb,var(--timeline-color) 75%,#000);border-radius:8px;color:#fff;background:var(--timeline-color);font-size:9px;font-weight:850;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.horizontal-timeline-outside{display:inline-flex;margin:16px 10px;color:var(--muted);font-size:8px}
.board-rich-field{min-width:0}.board-rich-editor{min-height:300px;max-height:52vh;overflow:auto}.rich-toolbar select{min-height:32px;padding:4px 24px 4px 8px;border:1px solid var(--line);border-radius:7px;color:var(--text);background:var(--surface);font-size:9px;font-weight:750}.rich-color-control{display:flex!important;grid-template-columns:auto auto!important;align-items:center;gap:5px!important;padding:3px 7px;border:1px solid var(--line);border-radius:7px;color:var(--text)!important;background:var(--surface);font-size:8px!important}.rich-color-control input{width:24px!important;height:24px!important;padding:0!important;border:0!important}.board-detail-body.rich-content font[size="2"]{font-size:.85em}.board-detail-body.rich-content font[size="4"]{font-size:1.25em}.board-detail-body.rich-content font[size="5"]{font-size:1.55em}.board-detail-body.rich-content img{display:block;max-width:100%;height:auto;margin:14px 0;border-radius:10px}
.nav-item[data-section="email"]>span,.nav-item[data-section="projects"]>span,.nav-item[data-section="factoryschedule"]>span{font-size:21px}.nav-item[data-section="projectcalendar"]>span,.nav-item[data-section="departmentwork"]>span,.nav-item[data-section="board"]>span,.nav-item[data-section="detailzone"]>span{font-size:19px}
.onenote-list-button b{font-size:13px}.onenote-list-button small{font-size:11px}.onenote-page-button b{font-size:14px}.onenote-page-button time{font-size:11px}.onenote-preview-content{font-size:14px}.onenote-preview p{font-size:13px}.onenote-pages>header label{font-size:11px}.onenote-notebooks>header b{font-size:15px}
.horizontal-timeline-date-track{display:flex;width:2580px}.horizontal-timeline-dates time{display:inline-flex!important;float:none!important;flex:0 0 86px;width:86px}
/* v101: timelines span the actual data range while opening at today's date. */
.horizontal-timeline-canvas{width:calc(180px + var(--timeline-width))}
.horizontal-timeline-dates,.horizontal-timeline-row{grid-template-columns:180px var(--timeline-width)}
.horizontal-timeline-date-track{width:var(--timeline-width)}
.app-shell.calendar-mode .outlook-calendar-layout{display:block}
.horizontal-timeline-scroll{max-height:clamp(520px,calc(100dvh - 320px),820px);overflow:auto}
.horizontal-timeline-dates>span,.horizontal-timeline-label{position:sticky;left:0;z-index:4;background:var(--surface);box-shadow:8px 0 12px -12px rgba(24,31,58,.65)}
.horizontal-timeline-dates>span{z-index:6;background:var(--surface-soft)}
.horizontal-timeline-dates{z-index:5}
/* v104: one isolated horizontal timeline layout for project, manufacturing, production and certification schedules. */
.horizontal-timeline-date-track{display:grid!important;grid-auto-flow:column;grid-auto-columns:86px;width:var(--timeline-width)!important;min-width:var(--timeline-width);writing-mode:horizontal-tb}
.horizontal-timeline-date-track>time{display:flex!important;float:none!important;box-sizing:border-box;width:86px!important;min-width:86px;writing-mode:horizontal-tb}
.horizontal-timeline-row{width:calc(180px + var(--timeline-width));min-width:calc(180px + var(--timeline-width))}
.horizontal-timeline-track{width:var(--timeline-width);min-width:var(--timeline-width)}
.horizontal-timeline-bar{display:block;min-width:78px;visibility:visible;opacity:1}
.project-calendar-alternative .horizontal-timeline-date-track,.project-calendar-alternative .horizontal-timeline-row,.project-calendar-alternative .horizontal-timeline-track{writing-mode:horizontal-tb}
.calendar-page.project-alternative-mode{gap:14px}
.calendar-page.project-alternative-mode>.outlook-calendar-toolbar,.calendar-page.project-alternative-mode>.calendar-page-status,.calendar-page.project-alternative-mode>.calendar-source-tabs{display:none!important}
.calendar-page.project-alternative-mode .outlook-calendar-layout{min-height:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.calendar-page.project-alternative-mode .outlook-month-panel{overflow:visible}
.calendar-page.project-alternative-mode .integrated-calendar-grid.project-calendar-alternative{min-height:0;padding:0;background:transparent}
.calendar-page.project-alternative-mode .horizontal-timeline{width:100%;border-radius:15px}
.calendar-page.project-alternative-mode .horizontal-timeline-scroll{max-height:clamp(420px,calc(100dvh - 250px),820px)}
.todo-table-title{min-width:200px}.todo-table-title .todo-table-project-name{color:var(--primary);font-size:9px;font-weight:850}
.home-department-tabs{display:flex;max-width:720px;gap:6px;padding:4px;overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.home-department-tabs button{flex:0 0 auto;min-height:34px;padding:7px 13px;border:0;border-radius:8px;color:var(--muted);background:transparent;font-size:10px;font-weight:850;white-space:nowrap;cursor:pointer}.home-department-tabs button.active{color:#fff;background:var(--primary)}.home-weekly-work{display:grid;grid-template-columns:1fr 1fr;gap:14px}.home-weekly-work>section{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.home-weekly-work>section>header{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;border-bottom:1px solid var(--line);background:var(--surface-soft)}.home-weekly-work>section>header b{font-size:13px}.home-weekly-work>section>header span{display:grid;place-items:center;min-width:26px;height:26px;padding:0 8px;border-radius:99px;color:var(--primary);background:var(--primary-soft);font-size:10px;font-weight:900}.home-work-column{display:grid;gap:9px;padding:10px}.home-work-column .home-work-item{cursor:pointer}.home-work-column .home-work-item:hover{border-color:var(--primary)}.onenote-preview-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}@media(max-width:850px){.home-weekly-work{grid-template-columns:1fr}.home-heading{align-items:stretch}.home-department-tabs{max-width:100%}.onenote-preview-actions{justify-content:flex-start}}
.home-weekly-work>.home-overdue-work{grid-column:1/-1;border-color:rgba(216,70,62,.25)}.home-weekly-work>.home-overdue-work>header{color:#b8332e;background:rgba(216,70,62,.09)}.home-weekly-work>.home-overdue-work>header span{color:#b8332e;background:rgba(216,70,62,.15)}.home-overdue-work .home-work-column{grid-template-columns:repeat(2,minmax(0,1fr))}.home-overdue-work .home-work-item{border-color:rgba(216,70,62,.22)}@media(max-width:850px){.home-overdue-work .home-work-column{grid-template-columns:1fr}}@media(prefers-color-scheme:dark){.home-weekly-work>.home-overdue-work{border-color:rgba(246,130,123,.32)}.home-weekly-work>.home-overdue-work>header{color:#ffaaa4;background:rgba(216,70,62,.13)}.home-weekly-work>.home-overdue-work>header span{color:#ffb6b0;background:rgba(216,70,62,.22)}}
.home-project-filters{display:grid;grid-template-columns:minmax(210px,1.5fr) repeat(4,minmax(135px,auto)) auto auto;gap:9px;align-items:end;padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.home-project-filters label{display:grid;gap:5px;color:var(--muted);font-size:9px;font-weight:850}.home-project-filters input,.home-project-filters select{width:100%;min-height:38px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;color:var(--text);background:var(--surface);font-size:10px}.home-project-filters button{min-height:38px;white-space:nowrap}.home-project-group+.home-project-group{margin-top:6px}.company-project-board.completed .company-project-card{opacity:.92}@media(max-width:1180px){.home-project-filters{grid-template-columns:repeat(3,minmax(160px,1fr))}.home-project-search{grid-column:span 2}}@media(max-width:720px){.home-project-filters{grid-template-columns:1fr 1fr}.home-project-search{grid-column:1/-1}.home-project-filters button{width:100%}}
.project-channel-thread{margin:0 0 20px;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 10px 28px rgba(31,38,72,.06)}.project-channel-thread>header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:14px}.project-channel-thread>header>div:first-child span{color:#6863d9;font-size:10px;font-weight:900;letter-spacing:.1em}.project-channel-thread h2{margin:4px 0;font-size:18px}.project-channel-thread>header p{margin:0;color:var(--muted);font-size:11px}.project-channel-thread>header>div:last-child{display:flex;gap:8px;align-items:center}.project-channel-thread-list{display:flex;flex-direction:column;gap:9px;max-height:360px;padding:14px;overflow:auto;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.project-channel-thread-list>article{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.project-channel-thread-list>article>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;color:#fff;background:#5b5fc7;font-weight:900}.project-channel-thread-list article header{display:flex;justify-content:space-between;gap:12px}.project-channel-thread-list article b{font-size:12px}.project-channel-thread-list article time{color:var(--muted);font-size:9px}.project-channel-thread-list article p{margin:6px 0 0;white-space:pre-wrap;color:var(--text);font-size:12px;line-height:1.55}.project-channel-consent{padding:18px;text-align:center}.project-channel-consent p{margin:0 0 12px;color:var(--muted);font-size:11px;line-height:1.6}@media(max-width:760px){.project-channel-thread>header{flex-direction:column}.project-channel-thread>header>div:last-child{width:100%;flex-wrap:wrap}}

/* Keep wide task tables inside their own scroller at every viewport size. */
.todo-page,.todo-list-card,.personal-todo-list,.todo-table-section,.todo-section-content{min-width:0;max-width:100%}
.personal-todo-list{grid-template-columns:minmax(0,1fr)}
.todo-section-content.table-wrap{width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
.todo-advanced-filters>label{min-width:0}
@media(max-width:600px){
  .main-content{width:100%;min-width:0}
  /* Normal flow avoids clipped sticky layers after Safari pinch zoom/rotation. */
  .topbar{position:relative;top:auto;backdrop-filter:none;background:var(--bg)}
  .todo-list-actions{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}
  .todo-list-actions>button{min-width:0;white-space:normal}
  .todo-filters{flex-wrap:wrap;max-width:100%}
  .todo-list-head,.todo-advanced-filters{padding-inline:12px}
  .todo-page .todo-advanced-filters input,.todo-page .todo-advanced-filters select,
  dialog input,dialog select,dialog textarea,dialog .rich-editor{font-size:16px}
}

/* v126: readable application-wide type scale. */
body{font-size:14px;line-height:1.5}
button,input,select,textarea{font-size:13px}
.nav-item,.project-link,.new-project{font-size:14px}
.sidebar-label,.nav-count,.sidebar-footer span{font-size:12px}
.sidebar-footer strong,.brand-title{font-size:13px}
.primary-button,.secondary-button,.sync-button,.auth-button,.text-button,.todo-filter,.view-tab{font-size:13px}
.eyebrow,.dialog-kicker,.status-badge,.project-teams-channel-badge{font-size:12px}
.summary-copy>p,.todo-hero p,.notification-hero p,.factory-schedule-hero p,.m365-library-hero p{font-size:14px}
.todo-metrics span,.progress-card>div:first-child,.progress-card p{font-size:12px}
.todo-advanced-filters label,.home-project-filters label,.board-form-grid label{font-size:12px}
.todo-advanced-filters input,.todo-advanced-filters select,.home-project-filters input,.home-project-filters select{min-height:42px;font-size:13px}
.filter-result-bar,.todo-status-section>h3,.todo-table-section>h3{font-size:13px}
table{font-size:13px!important}
table th{font-size:12px!important}
table td{font-size:13px!important;line-height:1.5}
.task-table th,.task-table td{padding:15px 14px}
.todo-table{min-width:1380px}
.todo-table-title{min-width:230px}
.todo-table-title b{font-size:13px}
.todo-table-title small,.todo-table time small,.todo-table-title .todo-table-project-name{font-size:11px}
.todo-table-summary{width:340px;max-width:340px}
.todo-table-summary span{font-size:12px;line-height:1.55}
.todo-kind,.todo-priority,.table-status,.todo-completed-pill,.task-completed-pill{font-size:11px}
.work-status-chip,.work-status-menu>button,.work-status-menu>p{font-size:12px}
.personal-todo-item h3,.task-card h3,.notification-item h3{font-size:14px}
.personal-todo-item p,.task-card>p,.notification-item p{font-size:12px}
.personal-todo-item time,.notification-item time,.task-code{font-size:11px}
.company-project-card p,.home-work-item p,.project-channel-thread p,.project-channel-thread-list article p{font-size:13px}
.factory-table th,.onedrive-table th{font-size:12px!important}
.factory-table td,.onedrive-table td{font-size:13px!important}
.factory-event-card b,.project-calendar-event-card b,.horizontal-timeline-label b{font-size:13px}
.factory-event-card small,.factory-event-card p,.project-calendar-event-card span,.project-calendar-event-card small{font-size:11px}
.factory-status-pill,.factory-schedule-status,.factory-weekdays span,.factory-day>span{font-size:11px}
.horizontal-timeline>header b{font-size:14px}
.horizontal-timeline>header span,.horizontal-timeline-dates>span,.horizontal-timeline-dates time b,.horizontal-timeline-label small,.horizontal-timeline-bar,.horizontal-timeline-outside{font-size:11px}
.horizontal-timeline-dates time small{font-size:10px}
.board-detail-body,.board-post-card p,.board-attachments button b,.board-attachments button small{font-size:13px}
.chat-sync-state,.chat-thread-banner span,.chat-context-title>div span,.chat-bubble b,.chat-bubble time,.chat-thread-link,.chat-composer label,.chat-composer>div>span{font-size:12px}
.chat-bubble p,.chat-composer textarea{font-size:14px}
.onedrive-tabs button,.onedrive-toolbar nav button,.onedrive-toolbar span,.onedrive-name button,.onedrive-open-button,.m365-loading,.m365-error{font-size:12px}
@media(max-width:760px){
  body{font-size:15px}
  .main-content{padding-right:18px;padding-left:18px}
  table{font-size:14px!important}
  table th{font-size:12px!important}
  table td{font-size:14px!important}
  .primary-button,.secondary-button,.sync-button,.auth-button,.text-button{font-size:14px}
}

/* v127: improve project overview card readability. */
.company-project-board{gap:18px}
.company-project-card{gap:16px;padding:21px 22px}
.company-project-card h3{font-size:18px;line-height:1.4}
.company-project-card header span{font-size:12px;line-height:1.45}
.company-project-card .project-percent{font-size:22px;line-height:1.2}
.company-project-card .project-progress{height:7px}
.project-task-preview{gap:10px;padding:6px 0}
.project-task-preview li{grid-template-columns:8px minmax(0,1fr) auto;gap:10px;font-size:12px;line-height:1.45}
.project-task-preview li>span{width:8px;height:8px}
.project-task-preview li b{font-size:12px;font-weight:750}
.project-task-preview li em{font-size:11px}
.company-project-card footer{font-size:11px;line-height:1.5}

@media(max-width:760px){
  .company-project-card{padding:18px}
  .company-project-card h3{font-size:17px}
  .project-task-preview li{font-size:12px}
}

/* v128: stronger board-card typography and illuminated state badges. */
.company-project-card{gap:18px;padding:23px 24px}
.company-project-card h3{margin-top:10px;font-size:19px;line-height:1.42}
.project-card-badges{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.project-department-pill,.project-card-state{display:inline-flex;align-items:center;min-height:27px;padding:5px 10px;border:1px solid transparent;border-radius:999px;font-size:12px!important;font-weight:850;line-height:1.2;letter-spacing:-.01em}
.project-department-pill{border-color:#9ee0cc;color:#176c55;background:#dff8ef;box-shadow:0 0 0 3px rgba(47,155,109,.07),0 3px 10px rgba(47,155,109,.12)}
.project-department-pill.department-0{border-color:#b8b8c7;color:#4f5263;background:#ededf2;box-shadow:0 0 0 3px rgba(95,98,116,.07),0 3px 10px rgba(95,98,116,.12)}
.project-department-pill.department-1{border-color:#9fbbf5;color:#285da9;background:#e4edff;box-shadow:0 0 0 3px rgba(61,111,196,.07),0 3px 10px rgba(61,111,196,.12)}
.project-department-pill.department-2{border-color:#9ee0cc;color:#176c55;background:#dff8ef;box-shadow:0 0 0 3px rgba(47,155,109,.07),0 3px 10px rgba(47,155,109,.12)}
.project-department-pill.department-3{border-color:#bfb2f2;color:#5c42ad;background:#eee9ff;box-shadow:0 0 0 3px rgba(108,78,187,.07),0 3px 10px rgba(108,78,187,.12)}
.project-department-pill.department-4{border-color:#8ed9e2;color:#176a76;background:#ddf7fa;box-shadow:0 0 0 3px rgba(38,162,161,.07),0 3px 10px rgba(38,162,161,.12)}
.project-department-pill.department-5{border-color:#f0c07e;color:#8a520a;background:#fff0d6;box-shadow:0 0 0 3px rgba(220,138,40,.07),0 3px 10px rgba(220,138,40,.12)}
.project-department-pill.department-6{border-color:#86c8f1;color:#17659b;background:#dff2ff;box-shadow:0 0 0 3px rgba(47,139,213,.07),0 3px 10px rgba(47,139,213,.12)}
.project-department-pill.department-7{border-color:#efa7c0;color:#a33d65;background:#ffe5ee;box-shadow:0 0 0 3px rgba(207,95,131,.07),0 3px 10px rgba(207,95,131,.12)}
.project-department-pill.department-8{border-color:#e3abde;color:#8d3b86;background:#f9e5f7;box-shadow:0 0 0 3px rgba(142,91,212,.07),0 3px 10px rgba(142,91,212,.12)}
.project-card-state.state-planned{border-color:#c6c7ff;color:#4944bd;background:#ececff;box-shadow:0 0 0 3px rgba(109,114,232,.07),0 3px 10px rgba(109,114,232,.12)}
.project-card-state.state-active{border-color:#8ccbf3;color:#14659c;background:#dff2ff;box-shadow:0 0 0 3px rgba(47,139,213,.08),0 3px 10px rgba(47,139,213,.14)}
.project-card-state.state-hold{border-color:#efc17f;color:#8c530c;background:#fff0d6;box-shadow:0 0 0 3px rgba(220,138,40,.08),0 3px 10px rgba(220,138,40,.14)}
.project-card-state.state-completed{border-color:#8dd5b6;color:#176d4c;background:#daf5e8;box-shadow:0 0 0 3px rgba(47,155,109,.08),0 3px 10px rgba(47,155,109,.14)}
.company-project-card .project-percent{font-size:24px}
.project-task-preview{gap:12px}
.project-task-preview li{font-size:14px;line-height:1.5}
.project-task-preview li b{font-size:14px;font-weight:780}
.project-task-preview li em{font-size:12px;font-weight:650}
.company-project-card footer{font-size:12px;font-weight:650}
.task-card{padding:17px}
.task-card h3{font-size:16px;line-height:1.45}
.task-card>p{font-size:13px;line-height:1.6}
.task-card .task-code,.task-card .task-meta,.task-card .task-footer,.task-card .task-assignee-name{font-size:12px}
.task-card-status-row>b{font-size:13px}

@media(prefers-color-scheme:dark){
  .project-department-pill{border-color:#276f5a;color:#8ee2c5;background:#173d33}
  .project-card-state.state-planned{border-color:#5558a5;color:#c1c2ff;background:#292a50}
  .project-card-state.state-active{border-color:#326f9c;color:#a6d9ff;background:#18384f}
  .project-card-state.state-hold{border-color:#80571f;color:#f4cc91;background:#422f16}
  .project-card-state.state-completed{border-color:#2f7559;color:#9ce4c5;background:#173d30}
  .project-department-pill.department-0{border-color:#5c6070;color:#d1d4df;background:#292c36}
  .project-department-pill.department-1{border-color:#385f9a;color:#a9c8ff;background:#1d3150}
  .project-department-pill.department-2{border-color:#276f5a;color:#8ee2c5;background:#173d33}
  .project-department-pill.department-3{border-color:#604c9c;color:#cfc1ff;background:#302550}
  .project-department-pill.department-4{border-color:#2b6e76;color:#9fe5ec;background:#173b40}
  .project-department-pill.department-5{border-color:#80571f;color:#f4cc91;background:#422f16}
  .project-department-pill.department-6{border-color:#326f9c;color:#a6d9ff;background:#18384f}
  .project-department-pill.department-7{border-color:#84425d;color:#f4b5cc;background:#472333}
  .project-department-pill.department-8{border-color:#70456f;color:#eab7e5;background:#40253f}
}

@media(max-width:760px){
  .company-project-card{padding:19px}
  .company-project-card h3{font-size:18px}
  .project-task-preview li,.project-task-preview li b{font-size:13px}
}

/* v132: Teams Daily Sales Report board. */
.daily-sales-board{margin:0 0 24px;padding:24px;border:1px solid var(--line);border-radius:22px;background:var(--panel);box-shadow:0 12px 30px rgba(35,48,78,.06)}
.daily-sales-board>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}
.daily-sales-board h2{margin:8px 0 4px;font-size:24px}
.daily-sales-board header p{margin:0;color:var(--muted);font-size:14px}
.daily-sales-actions{display:flex;align-items:center;gap:12px}.daily-sales-actions time{font-size:16px;font-weight:800;color:var(--ink)}
.daily-sales-status{padding:22px;border:1px dashed var(--line);border-radius:16px;color:var(--muted);background:var(--soft)}
.daily-sales-content{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:20px;align-items:start;min-width:0;max-width:100%}
.daily-sales-content>*,.daily-sales-summary>*{min-width:0;max-width:100%}
.daily-sales-board:not(.sales-revealed) .daily-sales-content{filter:blur(8px);opacity:.56;cursor:pointer;user-select:none;transition:filter .2s ease,opacity .2s ease}
.daily-sales-board.sales-revealed .daily-sales-content{filter:none;opacity:1;transition:filter .2s ease,opacity .2s ease}
.daily-sales-content:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.daily-sales-board.sales-revealed .daily-sales-content{cursor:default}
.daily-sales-content.structured{grid-template-columns:minmax(0,1fr)}.daily-sales-content.structured .daily-sales-summary{grid-template-columns:repeat(4,minmax(0,1fr))}
.daily-sales-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0;max-width:100%}
.sales-kpi{min-height:132px;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--soft);display:flex;flex-direction:column;gap:9px}
.sales-kpi span{font-size:13px;color:var(--muted);font-weight:750}.sales-kpi strong{font-size:23px;line-height:1.25}.sales-kpi small{margin-top:auto;color:var(--muted);font-size:12px;line-height:1.5}
.sales-kpi.primary{border-color:#78b7c4;background:linear-gradient(135deg,rgba(49,132,151,.13),rgba(49,132,151,.03))}.sales-kpi.positive strong{color:#18855a}.sales-kpi.mix strong{color:#20768c}.sales-kpi-wide{grid-column:1/-1}
.daily-sales-report-preview{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#edf3f5}.daily-sales-report-preview img{display:block;width:100%;max-height:720px;object-fit:contain;object-position:top center}.daily-sales-report-preview figcaption{display:flex;justify-content:space-between;gap:14px;padding:12px 14px;background:var(--panel);font-size:13px}.daily-sales-report-preview a{color:var(--accent);font-weight:800}
.sales-history-card{grid-column:1/-1;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft)}.sales-history-card header{display:flex;justify-content:space-between;gap:12px}.sales-history-card header span{font-weight:850}.sales-history-card header b{color:var(--muted)}.sales-history-bars{display:flex;align-items:stretch;gap:6px;height:190px;margin-top:18px;padding-top:10px;border-bottom:1px solid var(--line);overflow-x:auto}.sales-history-bars>div{display:flex;flex-direction:column;justify-content:flex-end;flex:1;min-width:6px}.sales-history-bars .sales-bar-plot{height:140px;flex-basis:140px}.sales-history-bars i{display:block;width:100%;min-height:3px;border-radius:5px 5px 0 0;background:linear-gradient(180deg,#338ca1,#236e81)}.sales-history-bars small{flex:none;padding:5px 0 2px;color:var(--muted);font-size:9px;text-align:center}
@media(max-width:1050px){.daily-sales-content{grid-template-columns:minmax(0,1fr)}.daily-sales-report-preview img{max-height:none}}
@media(max-width:650px){.daily-sales-board{padding:18px}.daily-sales-board>header{flex-direction:column}.daily-sales-summary{grid-template-columns:minmax(0,1fr)}.daily-sales-report-preview figcaption{flex-direction:column}}
@media(prefers-reduced-motion:reduce){.daily-sales-board .daily-sales-content{transition:none}}
@media(max-width:1050px){.daily-sales-content.structured .daily-sales-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.daily-sales-content.structured .daily-sales-summary{grid-template-columns:minmax(0,1fr)}.sales-history-bars{overflow-x:auto}.sales-history-bars>div{min-width:18px}}

/* v138: explicit dark surfaces for the refreshed home filters and deadline dialog. */
@media(prefers-color-scheme:dark){
  .home-project-filters{border-color:#343948!important;color:#edf0f7!important;background:#1b1e29!important;box-shadow:none!important}
  .home-project-filters label{color:#b7bdca!important}
  .home-project-filters input,.home-project-filters select{border-color:#3d4353!important;color:#edf0f7!important;background:#202431!important;color-scheme:dark!important}
  .home-project-filters .secondary-button{border-color:#3d4353!important;color:#edf0f7!important;background:#202431!important}
  .home-project-filters .text-button{color:#b7b4ff!important;background:transparent!important}
  .due-soon-dialog{border:1px solid #343948;color:#edf0f7;background:#1b1e29}
  .due-soon-summary{color:#c1c6d2}
  .due-soon-item{border-color:#59352e;background:linear-gradient(135deg,#272127,#20232d)}
  .due-soon-item h3{color:#f4f6fb}
  .due-soon-item p{color:#bdc2cf}
  .due-soon-item time{color:#ffb3a6;background:#4b2926}
  .due-soon-actions .secondary-button{border-color:#4a5060;color:#edf0f7;background:#282c38}
  .daily-sales-board{background:linear-gradient(145deg,#1b1e29,#202431)}
  .daily-sales-status,.sales-kpi,.sales-history-card{border-color:#343948;color:#edf0f7;background:#202431}
  .sales-history-bars{border-color:#343948;background:#181b24}
}

/* v139: keep held work visible in its own board and deadline notices. */
.todo-status-section.hold{border-top:8px solid var(--bg)}
.todo-table-section.hold{border-top:8px solid var(--bg)}
.todo-table-section.hold>h3{color:#9a5b0a;background:#fff5df}
.todo-status-section.hold>h3{color:#9a5b0a;background:#fff5df}
.todo-status-section.hold>h3 span{color:#9a5b0a;background:#ffe6b5}
.todo-status-section.hold>.todo-section-toggle,.todo-table-section.hold>.todo-section-toggle{color:#9a5b0a;background:#fff5df}
.todo-status-section.hold>.todo-section-toggle b,.todo-table-section.hold>.todo-section-toggle b{color:#9a5b0a;background:#ffe6b5}
.personal-todo-item.is-hold{background:linear-gradient(90deg,rgba(215,138,43,.09),var(--surface) 28%)}
.due-soon-status{display:inline-flex;align-items:center;margin-left:9px;padding:4px 8px;border-radius:999px;color:#925405;background:#ffebc4;font-size:11px;font-weight:900;vertical-align:middle}
.due-soon-item.is-hold{border-color:#e9c683;background:linear-gradient(135deg,#fff9ec,#fff)}
@media(prefers-color-scheme:dark){
  .todo-status-section.hold>h3{color:#f1c374;background:#342817}
  .todo-table-section.hold>h3{color:#f1c374;background:#342817}
  .todo-status-section.hold>h3 span{color:#ffd998;background:#59401c}
  .todo-status-section.hold>.todo-section-toggle,.todo-table-section.hold>.todo-section-toggle{color:#f1c374;background:#342817}
  .todo-status-section.hold>.todo-section-toggle b,.todo-table-section.hold>.todo-section-toggle b{color:#ffd998;background:#59401c}
  .personal-todo-item.is-hold{background:linear-gradient(90deg,rgba(215,138,43,.16),var(--surface) 28%)}
  .due-soon-status{color:#ffd998;background:#553a18}
  .due-soon-item.is-hold{border-color:#76511f;background:linear-gradient(135deg,#30271d,#20232d)}
}

/* v141: self-contained light and dark colors for the sales report top layer. */
.daily-sales-detail-dialog{color:#1d2433;background:#f4f6fb}
.daily-sales-detail-shell{background:linear-gradient(180deg,#eef7f9 0,#f4f6fb 300px)}
.daily-sales-detail-shell>header{border-color:#d9e0e8}.daily-sales-detail-shell>header h2{color:#1d2433}.daily-sales-detail-shell>header p{color:#687386}.daily-sales-detail-shell>header .close-button{border-color:#d7dde7;color:#455166;background:#fff}
.sales-detail-kpis .sales-kpi,.sales-detail-section{border-color:#dfe5ed;color:#1d2433;background:#fff;box-shadow:0 8px 24px rgba(35,48,78,.06)}
.sales-detail-kpis .sales-kpi span,.sales-detail-kpis .sales-kpi small,.sales-detail-section header p,.sales-customer-groups h4{color:#6f7787}.sales-detail-kpis .sales-kpi strong,.sales-detail-section h3,.sales-detail-entries b,.sales-detail-entries strong,.sales-customer-groups p{color:#1d2433}
.sales-detail-empty{color:#687386;background:#f5f7fa}.sales-customer-groups p,.sales-detail-entries>div,.sales-detail-bars{border-color:#e2e7ee}.sales-detail-courier>div span{color:#216f82;background:#e6f5f8}.sales-detail-entries>div>span{color:#216f82;background:#e6f5f8}.sales-detail-notes p:not(.sales-detail-empty){color:#3e4655;background:#fff6e6}
@media(prefers-color-scheme:dark){
  .daily-sales-detail-dialog{border:1px solid #343b4a;color:#f2f4f8;background:#151923}
  .daily-sales-detail-shell{background:linear-gradient(180deg,#172a33 0,#151923 300px)}
  .daily-sales-detail-shell>header{border-color:#343b4a}.daily-sales-detail-shell>header h2{color:#f2f4f8}.daily-sales-detail-shell>header p{color:#adb5c5}.daily-sales-detail-shell>header span{color:#75c6d8}.daily-sales-detail-shell>header .close-button{border-color:#454d5e;color:#eef1f6;background:#252b38}
  .sales-detail-kpis .sales-kpi,.sales-detail-section{border-color:#353d4d;color:#f2f4f8;background:#202633;box-shadow:none}
  .sales-detail-kpis .sales-kpi.primary{border-color:#3d7f8e;background:linear-gradient(135deg,#1d3b43,#202633)}
  .sales-detail-kpis .sales-kpi span,.sales-detail-kpis .sales-kpi small,.sales-detail-section header p,.sales-customer-groups h4{color:#aeb6c5}.sales-detail-kpis .sales-kpi strong,.sales-detail-section h3,.sales-detail-entries b,.sales-detail-entries strong,.sales-customer-groups p{color:#f2f4f8}
  .sales-detail-kpis .sales-kpi.positive strong{color:#6bd3a4}.sales-detail-kpis .sales-kpi.mix strong,.sales-detail-section header>strong{color:#72ccde}
  .sales-detail-empty{color:#aeb6c5;background:#181d27}.sales-customer-groups p,.sales-detail-entries>div,.sales-detail-bars{border-color:#353d4d}.sales-detail-courier>div span{color:#a6e2ec;background:#173a43}.sales-detail-entries>div>span{color:#a6e2ec;background:#173a43}.sales-detail-notes p:not(.sales-detail-empty){color:#e9e3d8;background:#342a1e}
}

/* Stable layout viewport: wide widgets scroll themselves, not the page shell.
   Do not size the shell from visualViewport.width: that shrinks it during pinch zoom. */
.home-dashboard{grid-template-columns:minmax(0,1fr);min-width:0;max-width:100%}
.home-dashboard>*,.home-project-filters>label,.home-heading>div,.company-project-card,.company-project-card header>div{min-width:0}
.home-project-filters input,.home-project-filters select{min-width:0;max-width:100%}
@media(max-width:600px){
  body{width:100%;min-width:0}
  .app-shell{width:100%;min-width:0;max-width:100%}
  .app-shell .main-content{--mobile-page-gutter:18px;width:100%;max-width:100%;min-width:0;padding-inline:var(--mobile-page-gutter)}
  .app-shell .main-content>.topbar{width:auto;min-width:0;max-width:none;margin-inline:calc(-1 * var(--mobile-page-gutter));padding-inline:var(--mobile-page-gutter)}
  .app-shell .main-content>.mobile-app-bar{width:auto;min-width:0;margin-inline:calc(-1 * var(--mobile-page-gutter));padding-inline:var(--mobile-page-gutter)}
  .app-shell.email-mode .main-content>.mobile-app-bar{flex:0 0 auto;margin-top:0}
  .topbar>*,.top-actions{min-width:0;max-width:100%}
  .home-project-filters,.home-metrics,.home-weekly-work{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-weekly-work{grid-template-columns:minmax(0,1fr)}
  .home-heading p,.company-project-card h3,.home-work-item h3{overflow-wrap:anywhere}
  .home-work-item{grid-template-columns:minmax(0,1fr) auto;min-width:0}
  .app-shell input:not([type="range"]):not([type="color"]),.app-shell select,.app-shell textarea,.app-shell [contenteditable="true"]{font-size:16px!important}
}
@media(max-width:380px){.home-project-filters{grid-template-columns:minmax(0,1fr)}.home-project-search{grid-column:auto}}

@media(max-width:600px) and (prefers-color-scheme:dark){.mobile-brand-mark>img{filter:brightness(0) invert(1)}}

/* Compact navigation also covers phone landscape and tablet widths. */
@media(max-width:1050px){
  body{--mobile-nav-height:94px;padding-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom))}
  .app-shell .sidebar{height:auto!important;padding:7px 8px calc(7px + env(safe-area-inset-bottom));align-items:stretch}
  .sidebar .nav-list{width:100%;min-width:0;gap:6px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scroll-padding-inline:4px}
  .sidebar .nav-item,.sidebar .nav-item:not(.active){position:relative;flex:0 0 auto;width:auto;min-width:88px;min-height:76px;padding:9px 12px;gap:7px;font-size:13px!important;font-weight:750;line-height:1.3;white-space:nowrap;scroll-snap-align:start}
  .sidebar .nav-item>span{min-width:28px;font-size:27px;line-height:1}
  .sidebar .nav-item>b{top:4px;right:7px;transform:none;min-width:21px;padding:3px 5px;font-size:11px;line-height:1.2}
  .sidebar .nav-item.active{background:rgba(255,255,255,.17);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
  .sidebar .calendar-nav-group{flex:0 0 auto}
  .sidebar .calendar-nav-button{width:100%}
  .calendar-nav-dropdown{bottom:calc(var(--mobile-nav-height) + 7px + env(safe-area-inset-bottom))}
  .work-status-menu,.personal-todo-item>.work-status-picker .work-status-menu,.todo-property-menu>div{bottom:calc(var(--mobile-nav-height) + 7px + env(safe-area-inset-bottom))}
  .app-shell.email-mode .main-content{padding-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom))}
}

/* One coherent shell below the desktop breakpoint: never mix the old 76px
   icon rail with the readable navigation typography. Pinch zoom remains enabled. */
@media(max-width:1050px){
  body{width:100%;min-width:0;overflow-x:hidden}
  .app-shell{display:block;width:100%;min-width:0;max-width:100%;min-height:100dvh}
  .app-shell .sidebar{position:fixed;z-index:60;inset:auto 0 0;width:auto;max-width:100%;border-top:1px solid rgba(255,255,255,.14);box-shadow:0 -12px 35px rgba(17,19,35,.22);padding-inline:max(8px,env(safe-area-inset-left)) max(8px,env(safe-area-inset-right))}
  .sidebar .brand,.sidebar .sidebar-label,.sidebar #project-list,.sidebar .new-project,.sidebar .sidebar-footer{display:none!important}
  .sidebar .nav-list{display:flex;margin:0;scrollbar-width:none}
  .sidebar .nav-list::-webkit-scrollbar{display:none}
  .sidebar .nav-item{justify-content:center;flex-direction:column;text-align:center;color:#aeb4d3}
  .sidebar .nav-item.active{color:#fff}
  .sidebar .calendar-nav-group{display:block}
  .sidebar .overseas-nav-group{display:flex;flex:0 0 auto}
  .sidebar .overseas-nav-group>summary{display:none}
  .sidebar .overseas-nav-group .os-submenu,.sidebar .overseas-nav-group:not([open]) .os-submenu{display:flex;padding:0}
  .sidebar .nav-count{position:absolute;top:4px;right:7px;margin:0;min-width:21px;padding:3px 5px;font-size:11px!important;line-height:1.2}
  .sidebar .calendar-nav-button i{display:none}
  .calendar-nav-dropdown{position:fixed;z-index:70;right:10px;left:10px;width:auto;max-height:54dvh;overflow:auto;background:#1f2345}
  .app-shell .main-content,.app-shell.email-mode .main-content{--mobile-page-gutter:18px;width:100%;min-width:0;max-width:100%;height:auto;min-height:100dvh;padding:14px var(--mobile-page-gutter) 28px;overflow:visible}
  .app-shell .main-content{padding-left:max(var(--mobile-page-gutter),env(safe-area-inset-left));padding-right:max(var(--mobile-page-gutter),env(safe-area-inset-right));padding-top:max(14px,env(safe-area-inset-top))}
  .app-shell.email-mode .main-content{padding-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom))}
  .app-shell .main-content>.mobile-app-bar{position:relative;top:auto;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;margin:0 0 12px;padding:5px 0;border-bottom:1px solid var(--line);background:var(--bg);flex-shrink:0}
  .mobile-brand-mark{position:relative;display:block;width:126px;height:36px;overflow:hidden;background:transparent}
  .mobile-brand-mark>img{position:absolute;top:50%;left:0;width:126px;height:126px;object-fit:contain;transform:translateY(-50%);filter:brightness(0)}
  .mobile-brand-mark::after{position:absolute;inset:0;content:"";background:url('./assets/jcworks-logo.png') center/126px 126px no-repeat;clip-path:circle(3.2px at 36.4px 19.9px);filter:none;pointer-events:none}
  .mobile-app-bar>button{display:flex;align-items:center;gap:7px;min-height:44px;padding:8px 12px;font-size:14px;white-space:nowrap}
  .mobile-app-bar>button>span{font-size:25px;line-height:1}
  .app-shell .main-content>.topbar{position:relative;top:auto;display:block;width:auto;min-width:0;max-width:100%;margin:0;padding:12px 0;background:var(--bg);backdrop-filter:none}
  .mobile-brand{display:flex;flex-direction:column;align-items:center;gap:0;flex-shrink:0}
  .mobile-brand>strong{font-size:11px;letter-spacing:.13em;line-height:1.5;color:var(--text)}
  .topbar>*,.top-actions{min-width:0;max-width:100%}
  .top-actions{justify-content:flex-start;flex-wrap:nowrap;margin-top:10px;overflow-x:auto}
  .top-actions>button{flex:0 0 auto;white-space:nowrap}
  .home-project-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .daily-sales-board>header{flex-wrap:wrap}
  .daily-sales-board>header>div{min-width:0;max-width:100%}
  .daily-sales-actions{flex:0 0 auto;flex-wrap:wrap;max-width:100%}
  .daily-sales-actions time,.daily-sales-actions button{flex:0 0 auto;white-space:nowrap}
}
@media(max-width:1050px) and (prefers-color-scheme:dark){.mobile-brand-mark>img{filter:brightness(0) invert(1)}}

/* Embedded mail needs a definite flex height; auto height collapses its 100%
   iframe to the browser's default 150px after a compact-shell transition. */
@media(max-width:1050px){
  body:has(.app-shell.email-mode){padding-bottom:0;overflow:hidden}
  .app-shell.email-mode{height:100dvh;min-height:0;overflow:hidden}
  .app-shell.email-mode .main-content{display:flex;flex-direction:column;height:100dvh;min-height:0;overflow:hidden;padding-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom) + 8px)}
  .app-shell.email-mode .email-page{flex:1 1 0;min-width:0;min-height:0;max-width:100%;margin:0;overflow:hidden}
  .app-shell.email-mode .email-page iframe{width:100%;max-width:100%;min-width:0;height:100%;min-height:0;box-sizing:border-box}
}
