/* Portal-only presentation; operational data and permissions live in the existing features. */
.portal { --radius:18px; --ink:#142f4b; --muted:#506781; --line:#dce7f3; --accent:#176fd1; background:#f3f7fc; }
.portal .workspace { min-width:0; }
.portal .sidebar { width:244px; padding:28px 16px 20px; box-shadow:3px 0 24px #174b8404; overflow-y:auto; }
.portal .workspace { margin-left:244px; width:calc(100% - 244px); }
.portal .brand { font-size:21px; margin:0 10px 34px; }
.portal .sidebar nav { gap:5px; }
.portal nav a { border-radius:12px; min-height:48px; font-weight:600; }
.portal .sidebar nav a.active { background:#e6f1ff; color:#0964c7; box-shadow:inset 3px 0 #2079db; }
.portal-icon { flex-shrink:0; }
.portal .sidebar nav .portal-icon { color:#6b85a0; width:21px; height:21px; }
.portal .sidebar nav .active .portal-icon { color:#176fd1; }
.portal .portal-nav-group { margin:0; padding:0; border:0; min-width:0; }
.portal .portal-nav-group>summary { display:flex; align-items:center; gap:7px; padding:12px 8px; min-height:48px; border-radius:12px; color:#405e7d; cursor:pointer; list-style:none; font-size:13px; font-weight:600; line-height:1.4; }
.portal .portal-nav-group>summary::-webkit-details-marker { display:none; }
.portal .portal-nav-group>summary>span:first-of-type { flex:1; min-width:0; white-space:nowrap; }
.portal .portal-nav-group>summary:hover { background:#edf5ff; }
.portal .portal-nav-group.has-active>summary { background:#eff6ff; color:#0964c7; }
.portal .portal-nav-group>summary>.portal-icon { width:18px; height:18px; color:#6b85a0; }
.portal .portal-nav-chevron { flex-shrink:0; display:flex; }
.portal .portal-nav-group>summary .portal-nav-chevron .portal-icon { width:12px; height:12px; transition:transform .15s ease; }
.portal .portal-nav-group[open]>summary .portal-nav-chevron .portal-icon { transform:rotate(180deg); }
.portal .portal-nav-children { display:grid; gap:3px; border-left:1px solid #dce7f3; margin:5px 0 7px 18px; padding-left:7px; }
.portal .portal-nav-group:not([open])>.portal-nav-children { display:none; }
.portal .portal-nav-children>a { min-height:44px; padding:10px 8px; font-size:13px; gap:8px; }
.portal .portal-nav-children>a .portal-icon { width:18px; height:18px; }
.portal .portal-menu .portal-nav-group>summary { font-size:14px; min-height:48px; }
.portal .portal-menu .portal-nav-children>a { font-size:13px; min-height:46px; }
.portal .portal-nav-group>summary .portal-group-count { flex-shrink:0; margin:0; font-size:11px; min-width:20px; }
@media(min-width:961px) and (max-width:1100px) { .portal .sidebar .portal-nav-group>summary { font-size:12px; gap:6px; padding-inline:7px; letter-spacing:-.15px; } }
@media(prefers-reduced-motion:reduce) { .portal .portal-nav-chevron .portal-icon { transition:none; } }
.portal .topbar { background:#ffffffeb; border-color:var(--line); }
.portal .workspace > main { max-width:1600px; margin-inline:auto; padding:32px 36px; }
.portal .page-heading { margin-bottom:24px; }
.portal h1 { letter-spacing:-.8px; font-size:30px; }
.portal .eyebrow { color:#537597; font-size:11px; font-weight:700; letter-spacing:1.5px; }
.portal .page-heading p { line-height:1.6; margin-top:8px; }
.portal .panel { border-radius:var(--radius); box-shadow:0 4px 18px #173c6404; }
.portal .button { border-radius:10px; min-height:44px; gap:8px; }
.portal .primary { background:#176fd1; box-shadow:0 3px 8px #176fd11a; }
.portal .primary:hover:enabled { background:#0c5eb9; }
.portal .button:disabled { box-shadow:none; background:#eef3f9; color:#72849a; border-color:#dbe5f0; }
.portal .work-personal [data-work=choose]:enabled { background:#176fd1; color:white; border-color:#176fd1; }
.portal .work-personal [data-work=choose]:disabled + [data-work=depart]:enabled { background:#176fd1; color:white; border-color:#176fd1; }
.portal .icon-button { min-width:44px; min-height:44px; border-radius:10px; }
.portal input,.portal select,.portal textarea { border-radius:10px; }
.portal #portal-courier-name { width:100%; }
.portal .pill { border-radius:7px; font-size:12px; }
.portal .work-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) 1.8fr; align-items:center; padding:18px 22px; background:#e9f3ff; border-color:#cce1f8; }
.portal .work-summary>span { display:flex; gap:8px; align-items:center; font-size:13px; }
.portal .work-summary b { font-size:22px; margin:0; }
.portal .work-controls { border-color:#bbd7f4; box-shadow:0 5px 22px #176fd108; }
.work-manager-tools{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.work-management{margin:20px 0;border:1px solid #cbdff3;border-radius:14px;background:#fff;scroll-margin-top:80px}.work-management>summary{display:block;padding:18px;cursor:pointer;font-weight:700;list-style:none}.work-management>summary::after{content:'⌄';float:right}.work-management>.work-controls,.work-management>.work-move,.work-management>.work-returns{margin:0;border:0;box-shadow:none;border-radius:0}.work-manage-name{display:flex;align-items:center;gap:7px;min-height:44px;padding:0;border:0;background:none;color:#125c9e;font:inherit;font-weight:700;text-align:left;cursor:pointer;overflow-wrap:anywhere}.work-manage-name .portal-icon{width:16px;height:16px;flex:none}
.schedule-mobile-scope{display:flex;gap:8px;margin:12px 0}.schedule-mobile-scope button{flex:1;min-height:44px;border:1px solid #cbdff3;border-radius:10px;background:#fff;color:#365472;font:inherit;font-size:14px}.schedule-mobile-scope button[aria-pressed=true]{background:#e3f0ff;border-color:#176fd1;color:#095daa;font-weight:700}.schedule-secondary-days{display:none!important}
.chat-more{display:grid;place-items:center;flex:none;border:0;border-radius:8px;background:transparent;color:#476785;font-size:25px;line-height:1;min-width:40px;min-height:40px;padding:0;cursor:pointer}.chat-more:hover{background:#dcecff}.chat-bubble header>strong{min-width:0;overflow-wrap:anywhere}.chat-action-menu{display:grid;gap:10px}.chat-action-menu .button{min-height:48px;justify-content:flex-start}
.portal .work-personal>strong { font-size:17px; }
.portal .work-actions .button { min-height:48px; }
.portal .work-route-grid { margin-top:16px; }
.portal .work-route { gap:12px; padding:18px; }
.portal .work-route.available { border-color:#8acba6; background:#e8f7ee; }
.portal .work-route.available .pill { color:#126034; border-color:#7bbf98; background:#c9ecd6; }
.portal .work-route.available h3 { color:#16633b; }
.portal .work-route.available p { color:#2c6545; }
.portal .work-route.available .button:disabled { color:#3d7051; border-color:#a4c8b2; background:#d7ebdf; opacity:1; }
.portal .work-route.available .button.primary:enabled { border-color:#21834f; background:#21834f; }
.portal .work-route.available .button.primary:hover:enabled { border-color:#176c3f; background:#176c3f; }
.portal .work-route.occupied { border-color:#efa4a4; background:#ffeded; box-shadow:none; }
.portal .work-route.occupied .pill { color:#9b2020; border-color:#eb9b9b; background:#ffd4d4; }
.portal .work-route.occupied h3,.portal .work-route.occupied>strong { color:#8f2525; }
.portal .work-route.occupied p { color:#824242; }
.portal .work-route.occupied .button:disabled { color:#925757; border-color:#e9b2b2; background:#ffe2e2; opacity:1; }
.portal .work-route h3 { font-size:19px; font-weight:700; }
.portal .work-route>strong { font-size:14px; overflow-wrap:anywhere; }
.portal .work-route .button { font-size:12px; gap:5px; white-space:normal; }
.portal .work-route .button .portal-icon { width:18px; height:18px; }
.portal .work-live-row { grid-template-columns:40px minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr); font-size:14px; }
.portal .work-live-row strong { overflow-wrap:anywhere; }
.portal .work-live-row.ready { background:#f2fbf7; margin-inline:-10px; padding-inline:10px; border-radius:12px; }
.portal [data-work-elapsed],.portal [data-work-deadline] { font-variant-numeric:tabular-nums; }
.portal .work-sound-bar { background:#f9fbff; padding:16px 20px; }
.portal .work-sound-bar strong { font-size:14px; }
.portal .work-sound-bar .button { font-size:12px; min-height:44px; }
.portal .roster-table td { line-height:1.5; }
.portal dialog { border:1px solid #d5e4f4; border-radius:22px; box-shadow:0 20px 80px #12375c35; max-width:calc(100vw - 24px); max-height:calc(100dvh - 32px); overscroll-behavior:contain; }
.portal dialog::backdrop { background:#102a465c; backdrop-filter:blur(4px); }
.portal .modal-actions { gap:10px; }
.portal .modal-actions .button { min-height:48px; }
.portal .text-button { min-height:36px; }
.portal-menu-button,.portal-bottom-nav,.portal-menu { display:none; }
.portal-menu[open] { display:block; }
.portal-menu { width:420px; padding:22px; }
.portal-menu-heading { display:flex; gap:16px; justify-content:space-between; align-items:center; padding-bottom:20px; }
.portal-menu-heading h2 { font-size:20px; }
.portal-menu-heading p { font-size:12px; margin-top:5px; color:var(--muted); }
.portal-menu nav { display:grid; gap:4px; }
.portal-menu nav a { font-size:14px; padding:12px; min-height:48px; }
.portal-menu-settings { display:grid; border-top:1px solid var(--line); margin-top:18px; padding-top:12px; gap:4px; }
.portal-setting { display:flex; gap:12px; align-items:center; text-align:left; width:100%; border:0; background:transparent; padding:10px 12px; font-size:13px; min-height:44px; border-radius:10px; }
.portal-setting:hover { background:#edf5ff; }
.portal .schedule-mobile,.portal .schedule-layout-toggle,.portal .schedule-mobile-settings { display:none; }
.portal .schedule-table-heading { border-radius:18px 18px 0 0; }
.portal .schedule-day-heading { border-radius:18px 18px 0 0; }
.portal .table-scroll { overscroll-behavior-x:contain; }
.portal:has(dialog[open]) { overflow:hidden; }
.portal .chat-panel { border-radius:18px; }
.portal .chat-bubble { box-shadow:none; border-radius:16px 16px 16px 4px; }
.portal .chat-own .chat-bubble { border-radius:16px 16px 4px 16px; background:#e5f1ff; }
.portal .chat-toolbar { background:#fff; }
.portal .chat-log { background:#f6f9fd; }
.portal .chat-message-actions .text-button { min-height:32px; padding-inline:3px; }
.portal .chat-topic { min-height:44px; }
.portal .notification-count { font-variant-numeric:tabular-nums; }
.portal.account-page { background:radial-gradient(ellipse at top,#dceeff,#f4f8fd 65%); padding:24px 16px; }
.portal .account-card { width:100%; max-width:460px; min-width:0; margin:0; padding:36px; border-radius:24px; box-shadow:0 16px 60px #1749790c; }
.portal .account-card .brand { margin:0 0 28px; }
.portal .account-card h1 { font-size:26px; letter-spacing:-.6px; }
.portal .account-card input { min-height:48px; font-size:16px; }
.portal .account-submit { min-height:50px; }
@media(min-width:761px) and (max-width:1100px) {
  .portal .sidebar { width:218px; padding-inline:12px; }
  .portal .workspace { margin-left:218px; width:calc(100% - 218px); }
  .portal .workspace > main { padding:26px 24px; }
  .portal .work-summary { grid-template-columns:repeat(3,1fr); }
  .portal .work-summary>span:last-child { grid-column:1/-1; }
}
@media(max-width:960px) {
  .portal { font-size:15px; -webkit-text-size-adjust:100%; }
  .portal .app-shell { min-height:100dvh; }
  .portal .sidebar { display:none; }
  .portal .workspace { margin:0; width:100%; padding-bottom:calc(80px + env(safe-area-inset-bottom)); }
  .portal .workspace > main { padding:22px 16px; width:100%; }
  .portal .topbar { position:sticky; top:0; z-index:9; height:62px; padding:8px 16px; gap:12px; backdrop-filter:blur(12px); }
  .portal-menu-button { display:grid; place-items:center; flex-shrink:0; background:white; border:1px solid var(--line); }
  .portal .breadcrumb { font-size:0; flex:1; min-width:0; }
  .portal .breadcrumb span { display:none; }
  .portal .breadcrumb strong { font-size:15px; display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .portal .topbar>.pill { display:none; }
  .portal .page-heading { align-items:flex-start; flex-direction:column; gap:16px; margin-bottom:20px; }
  .portal h1 { font-size:27px; }
  .portal .page-heading p { max-width:none; font-size:13px; }
  .portal .page-heading>.button { margin:0; width:auto; font-size:14px; padding:12px 16px; gap:8px; min-height:46px; }
  .portal .page-heading .eyebrow { font-size:10px; }
  .portal .button { min-height:46px; font-size:14px; padding:11px 14px; }
  .portal input:not([type=checkbox]),.portal select,.portal textarea { font-size:16px; min-height:46px; }
  .portal .field-label { font-size:14px; }
  .portal .panel-heading { padding:18px 16px; gap:9px; }
  .portal .panel-heading>span { font-size:12px; line-height:1.6; }
  .portal .viewer-update { padding:10px 16px; font-size:11px; gap:8px; }
  .portal .connection-notice { padding:12px 16px; font-size:13px; }
  .portal .workspace-footer { padding:16px; font-size:11px; }
  .portal .workspace-footer span:first-child { display:none; }
  .portal-bottom-nav { display:flex; justify-content:space-around; position:fixed; z-index:10; bottom:0; left:0; right:0; padding:6px 6px calc(6px + env(safe-area-inset-bottom)); background:#ffffffed; border-top:1px solid #d5e4f3; box-shadow:0 -4px 24px #193e6b08; backdrop-filter:blur(14px); gap:2px; }
  .portal-bottom-nav a,.portal-bottom-nav button { position:relative; display:flex; flex:1; flex-direction:column; justify-content:center; align-items:center; gap:5px; min-width:0; min-height:58px; padding:6px 2px; border:0; background:transparent; color:#58718d; border-radius:12px; font-size:10px; font-weight:600; }
  .portal-bottom-nav .portal-icon { width:22px; height:22px; }
  .portal-bottom-nav a.active { color:#0964c7; background:#eaf3ff; }
  .portal-bottom-nav .notification-count { position:absolute; top:2px; left:calc(50% + 5px); min-width:18px; height:18px; padding:2px 4px; font-size:10px; border:2px solid white; box-sizing:content-box; }
  .portal .portal-menu { margin:0; inset:0 auto 0 0; width:min(360px,calc(100vw - 24px)); max-width:100%; height:100dvh; max-height:100dvh; border:0; border-radius:0 24px 24px 0; padding:24px 18px calc(24px + env(safe-area-inset-bottom)); overflow:auto; }
  .portal .portal-menu nav a .portal-icon { width:22px; height:22px; }
  .portal .toast { left:16px; right:16px; bottom:calc(86px + env(safe-area-inset-bottom)); width:auto; max-width:none; transform:none; font-size:13px; }
  .portal dialog:not(.portal-menu) { width:calc(100vw - 24px); max-width:min(560px,calc(100vw - 24px)); padding:20px; max-height:calc(var(--portal-viewport,100dvh) - 24px); margin:auto; }
  .portal .modal-content { padding:0; }
  .portal .modal-actions { position:sticky; bottom:-20px; padding:16px 0; margin-bottom:0; background:#fff; border-top:1px solid var(--line); }
  .portal .modal-actions .button { flex:1; }
  .portal .modal-heading h2 { font-size:19px; }
  .portal .work-date { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:6px; width:100%; }
  .portal .work-date label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .portal .work-date input { width:100%; min-width:0; padding:9px 7px; font-size:16px; }
  .portal .work-date .button { padding:10px; font-size:12px; }
  .portal .work-summary { grid-template-columns:repeat(3,minmax(0,1fr)); padding:16px 12px; gap:16px 8px; }
  .portal .work-summary>span { flex-direction:column-reverse; align-items:flex-start; gap:4px; font-size:11px; line-height:1.4; }
  .portal .work-summary b { font-size:28px; }
  .portal .work-summary>span:last-child { grid-column:1/-1; font-size:12px; border-top:1px solid #cfe1f5; padding-top:12px; }
  .portal .work-controls { padding:20px 16px; gap:18px; margin-bottom:20px; }
  .portal .work-controls>div,.portal .work-personal { width:100%; min-width:0; }
  .portal .work-controls select { width:100%; }
  .portal .work-actions { display:grid; grid-template-columns:1fr; width:100%; gap:8px; }
  .portal .work-actions .button { min-height:50px; width:100%; justify-content:center; }
  .portal .work-personal>small { font-size:12px; line-height:1.6; }
  .portal .work-sound-bar { padding:16px; gap:12px; }
  .portal .work-sound-bar .work-actions { grid-template-columns:1fr 1fr; }
  .portal .work-sound-bar .button { font-size:12px; padding:8px; min-height:46px; }
  .portal .work-route-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:0; }
  .portal .work-route { max-width:none; padding:16px 12px; }
  .portal .work-route h3 { font-size:18px; overflow-wrap:anywhere; }
  .portal .work-section-title p { font-size:13px; line-height:1.6; }
  .portal .work-live-list { padding:0 16px; }
  .portal .work-live-row { grid-template-columns:32px minmax(0,1fr); gap:10px 12px; padding:20px 0; }
  .portal .work-live-row>div:nth-child(n+3) { grid-column:2; }
  .portal .work-live-row small { font-size:12px; line-height:1.5; }
  .portal .work-add { padding:16px; align-items:stretch; }
  .portal .work-add label,.portal .work-add .button { width:100%; }
  .portal .work-picker-footer { flex-direction:column; align-items:stretch; }
  .portal .work-picker-option { padding:16px; min-height:84px; }
  .portal .work-picker-option strong { font-size:18px; }
  .portal .work-picker-option small { font-size:13px; }
  .portal .work-plan { max-width:none; }
  .portal .roster-table { min-width:600px; }
  .portal .portal-card-table { min-width:0; width:100%; }
  .portal .portal-card-table thead { display:none; }
  .portal .portal-card-table tr { display:block; padding:16px; border-bottom:1px solid var(--line); }
  .portal .portal-card-table tr:last-child { border:0; }
  .portal .portal-card-table td { display:flex; align-items:baseline; justify-content:space-between; gap:16px; padding:6px 0; border:0; font-size:13px; }
  .portal .portal-card-table td::before { content:attr(data-label); color:#59718c; font-size:12px; flex-shrink:0; }
  .portal .portal-card-table td:first-child { display:block; font-size:16px; padding-bottom:10px; }
  .portal .portal-card-table td:first-child::before { display:none; }
  .portal .portal-card-table td:has(.account-row-actions) { display:block; }
  .portal .account-row-actions { max-width:none; display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:10px; }
  .portal .account-row-actions .text-button { min-height:44px; font-size:13px; background:#edf5ff; border-radius:8px; padding:8px; }
  .portal .schedule-mobile-settings { display:flex; width:100%; margin-bottom:16px; justify-content:flex-start; font-size:13px; }
  .portal .schedule-mobile-settings>span { margin-left:auto; font-size:20px; }
  .portal .schedule-toolbar { display:none; gap:14px; }
  .portal .schedule-summary { display:none; }
  .portal .schedule-options-open .schedule-toolbar { display:flex; }
  .portal .schedule-options-open .schedule-summary { display:grid; }
  .portal .schedule-period-control { width:100%; justify-content:space-between; }
  .portal .schedule-period-control h2 { font-size:14px; text-align:center; }
  .portal .schedule-tools { width:100%; display:grid; grid-template-columns:auto 1fr; gap:10px; }
  .portal .schedule-date-label { display:grid; gap:5px; font-size:11px; }
  .portal .schedule-tools>.button { align-self:end; }
  .portal .schedule-mode { width:100%; padding:3px; }
  .portal .schedule-mode button { flex:1; min-height:40px; font-size:12px; padding:7px; }
  .portal .schedule-tools { grid-template-columns:1fr 1fr; }
  .portal .schedule-tools>.button { width:100%; }
  .portal .schedule-tools:has(.schedule-layout-toggle)>.schedule-mode { grid-column:auto; }
  .portal .schedule-summary { gap:8px; }
  .portal .schedule-summary>div { padding:10px 9px; border-radius:14px; }
  .portal .schedule-summary strong { font-size:23px; }
  .portal .schedule-summary span { font-size:10px; }
  .portal .schedule-layout-toggle { display:flex; width:100%; margin-bottom:0; }
  .portal .schedule-mobile { display:block; }
  .portal .schedule-panel,.portal .schedule-daily,.portal .schedule-legend { display:none; }
  .portal .schedule-show-table .schedule-panel,.portal .schedule-show-table .schedule-daily,.portal .schedule-show-table .schedule-legend { display:block; }
  .portal .schedule-show-table .schedule-mobile { display:none; }
  .portal .schedule-mobile-days { display:flex; gap:6px; overflow-x:auto; padding:3px 0 12px; margin-bottom:10px; }
  .portal .schedule-mobile-days,.portal .chat-topics { scrollbar-width:none; }
  .portal .schedule-mobile-days::-webkit-scrollbar,.portal .chat-topics::-webkit-scrollbar { display:none; }
  .portal .schedule-mobile-day { flex:0 0 44px; display:grid; place-items:center; gap:5px; min-height:64px; background:white; border:1px solid var(--line); border-radius:12px; padding:8px 4px; color:#4d6783; font-size:11px; text-transform:capitalize; }
  .portal .schedule-mobile-day b { font-size:18px; }
  .portal .schedule-mobile-day[aria-pressed=true] { color:white; background:#176fd1; border-color:#176fd1; box-shadow:0 4px 10px #176fd120; }
  .portal .schedule-mobile-search { margin-bottom:16px; width:100%; max-width:none; }
  .portal .schedule-mobile-title { margin-bottom:16px; font-size:17px; }
  .portal .schedule-mobile-title::first-letter { text-transform:uppercase; }
  .portal .schedule-mobile-person { width:100%; display:flex; justify-content:space-between; align-items:center; gap:12px; padding:17px 14px; margin-bottom:9px; text-align:left; border:1px solid var(--line); border-radius:14px; background:white; }
  .portal .schedule-mobile-person>span { min-width:0; }
  .portal .schedule-mobile-person strong { display:block; font-size:14px; overflow-wrap:anywhere; }
  .portal .schedule-mobile-person small { display:block; color:#56718b; font-size:11px; margin-top:5px; }
  .portal .schedule-mobile-person b { font-size:13px; white-space:nowrap; padding:8px; border-radius:8px; background:#eff4fa; }
  .portal .schedule-mobile-person.start-eight { border-left:4px solid #63a77a; }
  .portal .schedule-mobile-person.start-eight b { color:#205c35; background:#e3f3e7; }
  .portal .schedule-mobile-person.start-ten { border-left:4px solid #d9b23e; }
  .portal .schedule-mobile-person.start-ten b { color:#70520b; background:#fff3c7; }
  .portal .schedule-mobile-person:disabled { opacity:1; cursor:default; }
  .portal .schedule-mobile-person.schedule-own { box-shadow:0 0 0 1px #7eb9ed; }
  .portal .chat-head-actions { width:100%; display:flex; gap:8px; }
  .portal .chat-head-actions .button { font-size:12px; min-height:40px; padding:8px 12px; }
  .portal:is([data-page=chat],[data-page=project-chat]) .workspace { height:var(--portal-viewport,100dvh); min-height:0; display:flex; flex-direction:column; padding-bottom:calc(76px + env(safe-area-inset-bottom)); }
  .portal:is([data-page=chat],[data-page=project-chat]) .topbar { flex-shrink:0; }
  .portal:is([data-page=chat],[data-page=project-chat]) .workspace > main { display:flex; flex-direction:column; flex:1; min-height:0; padding:12px 12px 0; }
  .portal:is([data-page=chat],[data-page=project-chat]) .page-heading { flex-direction:row; gap:10px; align-items:center; margin:0 0 10px; }
  .portal:is([data-page=chat],[data-page=project-chat]) .page-heading h1 { font-size:20px; white-space:nowrap; }
  .portal:is([data-page=chat],[data-page=project-chat]) .page-heading p,.portal:is([data-page=chat],[data-page=project-chat]) .eyebrow { display:none; }
  .portal:is([data-page=chat],[data-page=project-chat]) .chat-head-actions { width:auto; justify-content:flex-end; flex-wrap:wrap; gap:4px; }
  .portal:is([data-page=chat],[data-page=project-chat]) .chat-head-actions .button { font-size:11px; padding:6px 8px; }
  .portal .chat-topics { flex-shrink:0; flex-wrap:nowrap; overflow-x:auto; margin-bottom:10px; gap:7px; padding-bottom:3px; }
  .portal .chat-topic { flex-shrink:0; padding:10px 13px; font-size:13px; }
  .portal .chat-panel { display:flex; flex-direction:column; flex:1; min-height:0; width:100%; border-radius:16px 16px 0 0; margin:0; }
  .portal .chat-toolbar { padding:8px 12px; gap:2px 10px; flex-shrink:0; }
  .portal .chat-toolbar>div:first-child { justify-content:space-between; width:100%; gap:8px; }
  .portal .chat-toolbar small { margin:0; font-size:10px; }
  .portal .chat-toolbar-actions { width:100%; gap:12px; flex-wrap:nowrap; overflow-x:auto; }
  .portal .chat-toolbar-actions .text-button { min-height:36px; font-size:11px; flex-shrink:0; }
  .portal .chat-log { flex:1; min-height:80px; height:auto; padding:8px 10px 16px; }
  .portal .chat-message { max-width:97%; gap:6px; }
  .portal .chat-avatar { display:none; }
  .portal .chat-bubble { padding:10px 12px; }
  .portal .chat-bubble p { font-size:15px; line-height:1.5; }
  .portal .chat-bubble strong { font-size:12px; }
  .portal .chat-day { margin:12px 0; }
  .portal .chat-compose { flex-shrink:0; padding:10px 12px; }
  .portal .chat-compose .field-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .portal .chat-compose textarea { min-height:46px; height:54px; max-height:100px; padding:11px; resize:vertical; }
  .portal .chat-compose-bottom { margin-top:6px; }
  .portal #chat-hint { display:none; }
  .portal .chat-compose-bottom .button { min-height:44px; padding:9px 14px; }
  .portal .chat-timezone,.portal:is([data-page=chat],[data-page=project-chat]) .workspace-footer { display:none; }
  .portal.portal-keyboard .portal-bottom-nav { display:none; }
  .portal.portal-keyboard:is([data-page=chat],[data-page=project-chat]) .workspace { padding-bottom:0; }
  .portal.portal-keyboard:is([data-page=chat],[data-page=project-chat]) .page-heading { display:none; }
  .portal .notification-card { padding:18px 16px; }
  .portal .account-card { padding:28px 22px; }
  .portal.account-page { min-height:100dvh; }
}
@media(prefers-reduced-motion:reduce) { .portal * { scroll-behavior:auto!important; transition:none!important; } }
@media(max-width:960px) and (max-height:500px) {
  .portal .topbar { height:50px; }
  .portal-bottom-nav a,.portal-bottom-nav button { min-height:44px; flex-direction:row; gap:8px; }
  .portal-bottom-nav .portal-icon { width:19px; height:19px; }
  .portal:is([data-page=chat],[data-page=project-chat]) .workspace { padding-bottom:calc(58px + env(safe-area-inset-bottom)); }
  .portal:is([data-page=chat],[data-page=project-chat]) .page-heading { display:block; height:0; margin:0; }
  .portal:is([data-page=chat],[data-page=project-chat]) .page-heading>div:first-child { display:none; }
  .portal:is([data-page=chat],[data-page=project-chat]) .chat-head-actions { position:fixed; top:6px; right:16px; z-index:10; }
  .portal .chat-toolbar { flex-wrap:nowrap; }
  .portal .chat-toolbar>div:first-child { width:auto; flex-shrink:0; }
  .portal .chat-toolbar small { display:none; }
  .portal .chat-toolbar-actions { width:auto; margin-left:auto; }
  .portal .chat-topics { margin-bottom:6px; }
  .portal .chat-topic { min-height:36px; padding:7px 12px; }
  .portal .chat-compose { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
  .portal .chat-compose textarea { height:44px; min-height:44px; }
  .portal .chat-compose-bottom { margin:0; }
  .portal .chat-count { display:none; }
  .portal .chat-compose .form-error { grid-column:1/-1; }
  .portal-bottom-nav .notification-count { right:8px; left:auto; top:0; }
  .portal .work-actions { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .portal .work-personal .button { padding:8px; font-size:12px; }
}
@media print { .portal-bottom-nav,.portal-menu-button,.portal-menu { display:none!important; } .portal .sidebar { display:none; } .portal .workspace { margin:0; width:100%; padding:0; } .portal .schedule-mobile,.portal .schedule-layout-toggle { display:none; } .portal .schedule-panel,.portal .schedule-daily,.portal .schedule-legend { display:block; } }

.generation-intro{padding:20px;margin-bottom:20px}.generation-intro p{margin-bottom:0;line-height:1.6}
.work-return-hint { padding:14px 18px; margin:0 0 20px; border:1px solid #bdd7f3; border-radius:14px; background:#eaf4ff; color:#234c73; line-height:1.6; }
.work-return-hint>p { margin:0; }
.work-return-countdown { display:grid;gap:6px;margin-top:12px; }
.work-return-countdown[hidden] { display:none; }
.portal [data-work="home"][hidden] { display:none!important; }
.work-return-countdown>span { font-size:14px;font-weight:600; }
.work-return-countdown>strong { font-size:clamp(28px,6vw,36px);line-height:1.2;font-variant-numeric:tabular-nums;letter-spacing:.04em;color:#123f71; }
.work-return-countdown>small { font-size:12px;color:#476785; }
.push-settings,.push-compose,.push-inbox { padding:clamp(18px,3vw,28px);margin-bottom:20px;min-width:0; }
.push-heading { display:flex;gap:14px;align-items:center; }.push-heading>.portal-icon { width:36px;height:36px;color:#176cc0;flex:none; }
.push-heading h2 { margin:0 0 5px; }.push-heading p { margin:0; }
.push-settings li { margin:8px 0; }.push-settings .work-actions { display:flex;flex-wrap:wrap;gap:10px;margin-top:20px; }
.push-settings .button { white-space:normal; }
.push-compose form { display:grid;gap:12px; }.push-compose textarea { width:100%;resize:vertical;min-height:130px;max-width:100%; }
.push-compose form>.button { justify-self:start; }.push-message { border-top:1px solid #d3e2f2;padding:16px 0; }.push-message time,.push-message small { font-size:12px;color:#536d86; }.push-message p { white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6; }
.work-controls .work-actions:has([data-work="free"]) { display:grid;grid-template-columns:repeat(2,minmax(0,1fr)); }
.work-returns { margin-bottom:20px; }.work-return-list { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:14px;padding:16px; }.work-return-card { border:1px solid #cbdff3;border-radius:16px;padding:18px;min-width:0; }.work-return-card h3 { margin:0 0 10px;font-size:17px; }.work-return-card dl { display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0; }.work-return-card dt { font-size:12px;color:#536d86; }.work-return-card dd { margin:6px 0 0;font-weight:700;font-size:14px; }.work-return-card>.button { width:100%;margin-top:14px; }
.work-return-extension { display:grid;gap:10px;padding-top:14px;margin-top:14px;border-top:1px solid #cbdff3; }
.work-return-extension>span { font-size:13px;color:#536d86; }
.work-return-extension .work-actions { display:flex;flex-wrap:wrap;gap:8px; }
.work-return-extension .button { flex:1;min-width:72px; }
.work-free-dialog { width:min(480px,calc(100% - 24px));max-width:480px;box-sizing:border-box; }.work-free-dialog input { width:100%;box-sizing:border-box;min-height:46px; }.work-free-dialog p { font-size:14px;line-height:1.65; }

.portal .work-self-card { display:grid;gap:12px;padding:18px 20px;align-items:stretch; }
.work-self-heading { display:flex;align-items:flex-start;justify-content:space-between;gap:12px; }
.work-self-heading h2 { margin:0;font-size:18px; }.work-self-heading p { margin:5px 0 0;font-size:13px;color:#506781;overflow-wrap:anywhere; }
.work-self-heading .pill { max-width:45%;white-space:normal;text-align:right;line-height:1.4;flex-shrink:0; }
.work-self-facts { display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0; }
.work-self-facts dt { color:#506781;font-size:12px;line-height:1.4; }.work-self-facts dd { display:flex;gap:7px;align-items:baseline;flex-wrap:wrap;margin:5px 0 0;font-size:17px;font-weight:700;overflow-wrap:anywhere; }
.work-self-facts dd>strong { font-size:24px;line-height:1.2; }.work-self-facts dd>small { color:#506781;font-size:12px;font-weight:400; }
.work-self-timer { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:10px;background:#edf5ff; }
.work-self-timer>span { font-size:13px;color:#365472; }.work-self-timer>strong { font-size:24px;font-variant-numeric:tabular-nums;white-space:nowrap; }
.portal .work-self-card .work-return-hint { margin:0;padding:0;border:0;background:none;font-size:13px;line-height:1.5; }
.work-self-card .work-return-countdown { grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:8px;padding:10px 12px;background:#edf5ff;border-radius:10px; }
.work-self-card .work-return-countdown>span { font-size:13px;font-weight:400; }.work-self-card .work-return-countdown>strong { font-size:24px;letter-spacing:0;white-space:nowrap; }
.work-self-next { margin:0;font-size:13px;line-height:1.5;color:#365472;overflow-wrap:anywhere; }
.portal .work-self-card .work-self-actions { display:grid;grid-template-columns:minmax(0,1fr);gap:8px;width:100%; }
.portal .work-self-card .work-self-actions:has([data-work="depart"]):has([data-work="choose"]) { grid-template-columns:minmax(0,1fr) minmax(80px,.55fr); }
.portal .work-self-actions .button { min-height:48px;padding:10px;font-size:14px;white-space:normal;line-height:1.35; }.work-self-actions .button>span { min-width:0;overflow-wrap:anywhere; }
.work-self-help,.work-free-help { font-size:12px;color:#506781; }.work-self-help summary,.work-free-help summary { cursor:pointer;min-height:32px;display:flex;align-items:center;gap:8px; }.work-self-help summary::after,.work-free-help summary::after { content:'⌄';margin-left:auto; }.work-self-help p { line-height:1.6;margin:6px 0 0; }
.portal dialog.work-free-dialog { padding:0;overflow:hidden;max-height:calc(var(--portal-viewport,100dvh) - 24px); }
.portal .work-free-dialog .modal-content { display:flex;flex-direction:column;padding:0;max-height:calc(var(--portal-viewport,100dvh) - 26px); }
.portal .work-free-dialog .modal-heading { flex-shrink:0;margin:0;padding:16px 20px;border-bottom:1px solid #dce7f3; }.work-free-dialog .modal-heading h2 { margin:0; }
.work-free-dialog form { display:flex;flex-direction:column;min-height:0;overflow:hidden; }
.work-free-fields { flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 20px 12px; }
.work-free-fields>label { display:block;font-weight:700;margin:14px 0 8px;font-size:14px; }.work-free-fields>p { margin:8px 0;font-size:12px;line-height:1.5;color:#506781; }
.work-free-presets { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-bottom:10px; }
.work-free-presets button { display:grid;place-items:center;gap:3px;min-width:0;min-height:52px;padding:7px 2px;background:#f3f7fc;color:#365472;border:1px solid #c8dbee;border-radius:10px;font:inherit;font-weight:700;cursor:pointer; }
.work-free-presets button span { font-size:11px;font-weight:400; }.work-free-presets button[aria-pressed=true] { background:#e2f0ff;border-color:#176fd1;color:#095daa;box-shadow:inset 0 0 0 1px #176fd1; }.work-free-presets button:disabled { cursor:wait;opacity:.65; }
.work-free-footer { flex-shrink:0;display:grid;gap:8px;padding:12px 20px max(12px,env(safe-area-inset-bottom));border-top:1px solid #dce7f3;background:white;box-shadow:0 -5px 18px #12375c08; }
.work-free-footer>p { margin:0;font-size:12px;line-height:1.5; }.work-free-footer>[data-free-status]:empty,.work-free-footer>[data-free-error]:empty { display:none; }
.work-free-footer .button { width:100%;white-space:normal;min-height:48px;line-height:1.4; }.work-free-consent { color:#365472; }
@media(max-width:960px){.portal .work-self-card{padding:16px;gap:10px}.work-self-facts dd>strong{font-size:22px}.work-self-heading .pill{font-size:11px}.work-self-help summary{min-height:30px}.portal .work-free-dialog .modal-heading{padding:12px 16px}.work-free-fields{padding-inline:16px}.work-free-footer{padding-inline:16px}}
@media(max-width:960px){
 .portal[data-page=notifications] .page-heading .eyebrow,.portal[data-page=notifications] .page-heading p{display:none}.portal[data-page=notifications] .page-heading{margin-bottom:14px}.portal[data-page=notifications] .page-heading h1{font-size:24px}
 .portal .schedule-mobile-primary{display:block;margin:0 0 14px}.portal .schedule-mobile-primary .schedule-mobile-title{margin:8px 0 12px}.portal .schedule-mobile-primary .schedule-mobile-person{margin-bottom:10px}.portal .schedule-show-table .schedule-mobile{display:none}.portal .schedule-week-rule{font-size:12px;padding:12px;margin-bottom:14px}.portal .schedule-mobile-roster{margin-top:16px}
 .portal .notification-card{padding:14px;margin-bottom:10px}.portal .notification-heading h2{font-size:16px;line-height:1.35}.portal .notification-heading p,.portal .notification-card>p{font-size:13px;line-height:1.5;margin:8px 0}.portal .notification-comparison{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;margin:10px 0}.portal .notification-comparison>div{padding:10px;min-width:0}.portal .notification-comparison strong{font-size:14px;line-height:1.4;overflow-wrap:anywhere}.portal .notification-comparison>span{display:block}.portal .notification-meta{font-size:11px;gap:4px}.notification-details{font-size:12px;line-height:1.5;margin:8px 0}.notification-details summary{min-height:36px;display:flex;align-items:center;cursor:pointer}.notification-details summary::after{content:'⌄';margin-left:auto}
 .portal .chat-compose{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:6px 8px;align-items:end}.portal .chat-compose textarea{grid-column:1;min-height:48px;height:48px}.portal .chat-compose-bottom{display:contents}.portal #chat-send{grid-column:2;grid-row:1;width:48px;min-height:48px;padding:10px}.portal .chat-send-label{display:none}.portal .chat-count{display:none;grid-column:1;font-size:10px}.portal .chat-compose:focus-within .chat-count{display:block}.portal #chat-error{grid-column:1/-1;margin:0}.portal #chat-error:empty{display:none}.portal .chat-more{min-width:40px;min-height:40px}.portal .chat-bubble header{gap:5px}.portal .chat-bubble header time{font-size:10px}.portal .chat-action-menu .button{min-height:48px}
}

.voice-directory{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:16px}
.voice-contact{padding:20px;display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;align-items:center;min-width:0}.voice-contact h3{font-size:16px;margin:0 0 6px;overflow-wrap:anywhere}.voice-contact p{margin:0;font-size:13px;color:#46617e}.voice-contact>.button{grid-column:1/-1;width:100%}
.voice-avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:#e5f1ff;color:#095aa9;font-weight:800}.voice-group-panel{padding:20px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.voice-group-panel h2,.voice-active h2{margin:0 0 8px}.voice-group-panel p{margin:0;max-width:680px;line-height:1.6}.voice-active{padding:20px;margin-bottom:20px}.voice-members{display:flex;gap:10px;flex-wrap:wrap}.voice-members .voice-speaking{outline:2px solid #1f9963;background:#e8f8ed!important}

.role-preview-panel{max-width:900px;padding:28px}.role-preview-intro{display:flex;align-items:flex-start;gap:16px}.role-preview-intro>.portal-icon{width:44px;height:44px;padding:10px;flex-shrink:0;border-radius:14px;background:#e6f2ff;color:#1267b5}.role-preview-intro h2{margin:0 0 10px}.role-preview-intro p,.role-preview-hint{line-height:1.65;margin:0;color:#365472}.role-preview-hint{margin:24px 0;padding:16px;border:1px solid #c9dff7;border-radius:12px;background:#f2f8ff}.role-preview-fields{display:grid;grid-template-columns:minmax(150px,1fr) minmax(0,2fr);gap:18px;margin-bottom:24px}.role-preview-fields label{min-width:0;font-weight:700;display:grid;gap:8px}.role-preview-fields select{width:100%;min-width:0;max-width:100%}.role-preview-actions{display:flex;flex-wrap:wrap;gap:10px}.role-preview-actions .button{min-height:44px;white-space:normal;text-align:center}.role-preview-banner{position:sticky;top:0;z-index:85;display:flex;gap:16px;align-items:center;justify-content:space-between;padding:16px 24px;background:#fff8e4;border-bottom:1px solid #e6c96a;color:#5a430d;box-shadow:0 3px 12px #344d6110}.role-preview-identity{display:flex;align-items:center;gap:12px;min-width:0}.role-preview-identity>.portal-icon{flex-shrink:0}.role-preview-identity strong,.role-preview-identity small{display:block;overflow-wrap:anywhere}.role-preview-identity small{margin-top:6px;line-height:1.5}.role-preview-mode .topbar{position:static}.role-preview-closed{max-width:700px;margin:40px auto;padding:16px}.role-preview-closed .panel{padding:28px}
@media(max-width:960px){.role-preview-banner{position:static;display:block;padding:16px}.role-preview-banner .role-preview-actions{margin-top:14px}.role-preview-banner .button{flex:1;min-width:130px}.role-preview-panel{padding:20px}.role-preview-fields{grid-template-columns:minmax(0,1fr)}.role-preview-panel>.role-preview-actions{display:grid}.role-preview-intro{gap:12px}.role-preview-intro>.portal-icon{width:38px;height:38px;padding:8px}}
.voice-widget{position:fixed;right:24px;bottom:24px;width:min(460px,calc(100% - 32px));padding:18px;background:#fff;border:2px solid #2783d2;border-radius:20px;box-shadow:0 14px 48px #123d6b35;z-index:110;max-height:45dvh;overflow:auto}.voice-widget[hidden]{display:none}.voice-widget-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.voice-widget-heading strong{overflow-wrap:anywhere}.voice-widget p{margin:10px 0;color:#314d6d;font-size:14px}.voice-controls{display:flex;flex-wrap:wrap;gap:8px}.voice-controls .button{flex:1;min-height:44px}.voice-controls .danger{background:#fff0ef;color:#a62320;border-color:#efb4ae}.voice-present main{padding-bottom:220px!important}.voice-widget .portal-icon{width:20px;height:20px}.voice-widget [data-voice-duration]{font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:960px){.voice-widget{right:16px;bottom:calc(80px + env(safe-area-inset-bottom));padding:16px}.voice-group-panel{display:block}.voice-group-panel>.button{width:100%;margin-top:16px}.voice-directory{grid-template-columns:minmax(0,1fr)}.voice-present main{padding-bottom:280px!important}}
.chat-recorder{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 16px;border-top:1px solid var(--border,#d2e3f8);background:#f7faff}.chat-recorder small{color:#486681;font-size:11px}.chat-recorder audio,.chat-bubble audio{max-width:100%;height:38px}.chat-recorder strong{color:#b32438;font-size:13px}.chat-recorder .button{min-height:42px}#archive-messages{display:grid;gap:12px}#archive-messages .panel{padding:18px}#archive-messages p{white-space:pre-wrap;overflow-wrap:anywhere}#archive-messages audio{max-width:100%}
.notification-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px;margin-bottom:18px}.notification-filters label{display:grid;gap:6px;font-size:13px;font-weight:650;min-width:0}.notification-filters input,.notification-filters select{width:100%;min-width:0;box-sizing:border-box;min-height:44px}.notification-filter-actions{display:flex;flex-wrap:wrap;gap:8px;grid-column:1/-1}.notification-filters>p{grid-column:1/-1;margin:0;font-size:12px;color:#486681;line-height:1.5}@media(max-width:960px){.notification-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px;gap:10px}.notification-filters label:nth-child(3){grid-column:1/-1}.notification-filter-actions .button{min-height:44px}.notification-filter-actions{gap:6px}}
.overdue-filters{display:flex;align-items:end;flex-wrap:wrap;gap:14px;padding:18px;margin-bottom:18px}.overdue-filters label{display:grid;gap:8px;min-width:0;font-size:13px;font-weight:700;flex:1 1 240px}.overdue-filters input{width:100%;min-width:0;box-sizing:border-box;min-height:44px}.overdue-filters .button{min-height:44px}
.portal #overdue-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;padding:16px 20px}.portal #overdue-summary>span{display:flex;flex-direction:column-reverse;align-items:flex-start;gap:5px;grid-column:auto;font-size:12px;border:0;padding:0}.portal #overdue-summary b{font-size:24px}
.overdue-panel{overflow:hidden}.overdue-panel .panel-heading{padding:20px;gap:12px;flex-wrap:wrap}.overdue-panel h2{font-size:18px;line-height:1.5;margin:0}.overdue-panel .panel-heading>span{font-size:12px;color:#506781}.overdue-table{width:100%;border-collapse:collapse;table-layout:fixed}.overdue-caption{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.overdue-table th,.overdue-table td{padding:18px 20px;vertical-align:top;text-align:left;border-top:1px solid #dce7f3;overflow-wrap:anywhere}.overdue-table thead th{font-size:12px;color:#486681;background:#f5f9ff}.overdue-table th:first-child{width:24%}.overdue-table th:last-child{width:18%}.overdue-table tbody th{font-size:15px;font-weight:600}.overdue-table small{display:block;font-size:12px;font-weight:400;color:#506781;line-height:1.5;margin-top:6px}.overdue-trips{display:grid;gap:12px}.overdue-trip{display:flex;justify-content:space-between;align-items:start;gap:12px;padding-bottom:12px;border-bottom:1px solid #e4edf6}.overdue-trip:last-child{border:0;padding-bottom:0}.overdue-trip>div{min-width:0}.overdue-trip strong{font-size:14px}.overdue-count{flex-shrink:0;min-width:36px;padding:6px 10px;border-radius:10px;text-align:center;font-size:14px;font-weight:750;font-variant-numeric:tabular-nums}.overdue-count.positive{background:#ffebe9;color:#a82727}.overdue-count.zero{background:#e5f7ed;color:#15653b}.overdue-count.pending{font-size:11px;background:#edf2f8;color:#52677c}.overdue-total>strong{font-size:24px;font-variant-numeric:tabular-nums}.overdue-note,.overdue-empty{font-size:13px;color:#506781;line-height:1.6}.overdue-note{margin-top:16px}
@media(max-width:960px){.overdue-filters{padding:14px;gap:12px}.overdue-filters label:first-child{flex-basis:calc(100% - 110px)}.overdue-filters label:last-child{flex-basis:100%}.overdue-panel{background:transparent!important;border:0!important;overflow:visible}.overdue-panel .panel-heading{padding:0 0 14px;display:block}.overdue-panel h2{font-size:16px}.overdue-table,.overdue-table tbody,.overdue-table tr,.overdue-table td,.overdue-table tbody th{display:block;width:auto!important}.overdue-table thead{display:none}.overdue-table tr{padding:16px;margin-bottom:12px;border:1px solid #dce7f3;border-radius:16px;background:white}.overdue-table td,.overdue-table tbody th{padding:0;border:0}.overdue-table tbody th{margin-bottom:16px;font-size:17px}.overdue-table .overdue-total{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #dce7f3;margin-top:16px;padding-top:12px}.overdue-total>small{margin:0}.overdue-total>strong::before{content:'Всего просроков: ';font-size:13px;font-weight:600;color:#506781}.overdue-trip{gap:8px}.overdue-trip strong{font-size:14px}.overdue-count{max-width:90px;white-space:normal}.overdue-panel .queue-empty{padding:12px 0}}
@media(max-width:960px){.portal #overdue-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;padding:14px}.portal #overdue-summary>span{flex-direction:row;align-items:center;justify-content:space-between;font-size:11px;gap:8px}.portal #overdue-summary>span:last-child{grid-column:1/-1;border-top:1px solid #cfe1f5;padding-top:10px;font-size:12px}.portal #overdue-summary b{font-size:20px}.portal[data-page=overdue] .page-heading .eyebrow{display:none}.portal[data-page=overdue] .page-heading h1{font-size:24px}}
.overdue-trip{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px}.overdue-trip-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.overdue-trip-actions .text-button{min-height:32px;padding:5px 8px;font-size:12px}.overdue-trip-actions .overdue-manual{margin:0 auto 0 0;padding:4px 7px;border-radius:6px;background:#fff4db;color:#80561a;font-size:11px}.overdue-dialog{width:min(560px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto}.overdue-dialog .modal-content{width:100%;max-width:100%;box-sizing:border-box}.overdue-dialog input,.overdue-dialog textarea{width:100%;box-sizing:border-box;min-height:44px}.overdue-dialog textarea{resize:vertical}.overdue-dialog .field-label{display:block;margin:18px 0 8px}.overdue-edit-context{line-height:1.6;color:#486681;font-size:13px}.overdue-edit-context strong{color:#142f4b}.overdue-edit-history{display:grid;gap:10px;margin-bottom:16px}.overdue-edit-history article{border:1px solid #dce7f3;border-radius:12px;padding:14px}.overdue-edit-history article>strong{font-size:20px;color:#15528d}.overdue-edit-history time{display:block;font-size:12px;color:#506781;margin:8px 0}.overdue-edit-history p{margin:8px 0 0;font-size:13px;line-height:1.5}.overdue-edit-reason{white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:960px){.overdue-trip-actions .text-button{min-height:44px}.overdue-dialog .modal-content{padding:18px}.overdue-dialog .modal-actions{display:grid;grid-template-columns:1fr 1fr}.overdue-dialog .modal-actions .button{min-height:48px}}

/* Courier photos and screenshots. */
.screenshot-upload { display:flex; align-items:center; justify-content:space-between; padding:22px; gap:20px; margin-bottom:18px; }
.screenshot-upload p { margin:8px 0 0; color:var(--muted,#476480); }
.screenshot-upload-actions { display:flex; align-items:center; gap:14px; flex-shrink:0; }
.screenshot-camera-button { width:64px; height:64px; border:0; border-radius:20px; background:#176cc0; color:#fff; display:grid; place-items:center; cursor:pointer; box-shadow:0 5px 15px #176cc027; }
.screenshot-camera-button .portal-icon { width:30px; height:30px; }
.screenshot-camera-button:disabled { opacity:.45; cursor:default; }
.screenshot-filters { display:flex; flex-wrap:wrap; gap:14px; margin-bottom:16px; }
.screenshot-filters label { display:flex; flex-direction:column; gap:7px; font-weight:600; font-size:13px; flex:1; min-width:160px; }
.screenshot-filters input,.screenshot-filters select { width:100%; min-height:44px; }
.screenshot-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:18px; }
.screenshot-card { min-width:0; background:white; border:1px solid #cfdef0; border-radius:18px; overflow:hidden; }
.screenshot-card>button { padding:0; display:block; width:100%; background:#eaf2fb; border:0; cursor:zoom-in; }
.screenshot-card img { display:block; width:100%; height:210px; object-fit:contain; }
.screenshot-card>div { padding:14px; display:flex; flex-direction:column; gap:6px; }
.screenshot-card time,.screenshot-card small { font-size:12px; color:#476480; }
.screenshot-empty { grid-column:1/-1; text-align:center; padding:48px 20px; border:1px dashed #afc9e7; border-radius:18px; }
.screenshot-preview { display:block; max-width:100%; max-height:65dvh; margin:auto; object-fit:contain; border-radius:10px; }
.screenshot-more { display:flex; justify-content:center; padding:22px; }
#screenshot-dialog { width:min(760px,calc(100% - 24px)); }
@media(max-width:700px){
.screenshot-upload { flex-direction:column; align-items:stretch; padding:18px; gap:14px; }
.screenshot-upload-actions { justify-content:center; }
.screenshot-camera-button { width:70px; height:60px; border-radius:17px; }
.screenshot-filters { gap:10px; }.screenshot-filters label { min-width:calc(50% - 10px); font-size:12px; }
.screenshot-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.screenshot-card { border-radius:13px; }.screenshot-card img { height:160px; }.screenshot-card>div { padding:10px; }.screenshot-card strong { font-size:13px; }
.screenshot-submit { position:sticky; bottom:0; background:#fff; padding-top:12px; padding-bottom:env(safe-area-inset-bottom); }
}

.screenshot-upload[hidden]{display:none;}
.claim-discussion{margin-top:22px;border-top:1px solid #cfdef0;padding-top:16px;}
.claim-discussion h3{margin:0 0 10px;}
.claim-messages{list-style:none;margin:16px 0;padding:0;display:flex;flex-direction:column;gap:12px;}
.claim-comment{padding:14px;background:#f0f5fc;border:1px solid #d7e4f3;border-radius:14px;}
.claim-comment.own{background:#e5f1ff;}
.claim-comment header{display:flex;flex-wrap:wrap;gap:5px 10px;align-items:center;}
.claim-comment header span,.claim-comment time{font-size:11px;color:#476480;}
.claim-comment p{white-space:pre-wrap;overflow-wrap:anywhere;margin:9px 0 0;}
#claim-reply-form textarea{width:100%;min-height:85px;margin-top:6px;}
#claim-target{width:100%;min-height:44px;margin:0 0 15px;}
.claim-photo{max-height:38dvh;}
/* Personal curator/courier conversations. */
.direct-layout{display:grid;grid-template-columns:minmax(250px,320px) minmax(0,1fr);gap:20px;align-items:start}
.direct-sidebar{padding:20px;min-width:0;max-height:780px;overflow:auto}
.direct-sidebar>label{display:block;font-weight:650;margin-bottom:8px}
.direct-sidebar h2{font-size:16px;margin:22px 0 10px}
.direct-section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}
.direct-person{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left;border:1px solid transparent;border-radius:12px;background:transparent;padding:12px;margin:3px 0;color:var(--ink,#18364b);cursor:pointer}
.direct-person>span:first-child{min-width:0}.direct-person strong{display:block;overflow-wrap:anywhere}.direct-person small{display:block;color:#5b7088;font-size:12px;margin-top:5px}
.direct-person:hover,.direct-person.active{background:#eaf4ff;border-color:#bfd9fa}.direct-person .notification-count{flex-shrink:0}
.direct-conversation{min-width:0;height:min(74vh,780px);min-height:480px;display:flex;flex-direction:column;padding:0;overflow:hidden}
.direct-heading{display:flex;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid #d6e5f4}
.direct-heading>div{min-width:0}.direct-heading h2{margin:0;font-size:19px;overflow-wrap:anywhere}.direct-heading p{font-size:12px;color:#5b7088;margin:5px 0 0}
.direct-back{display:none}.direct-placeholder{margin:auto;text-align:center;padding:30px;max-width:420px}.direct-placeholder h2{font-size:21px}.direct-placeholder p{color:#5b7088}
.direct-log{flex:1;min-height:0;overflow:auto;padding:20px;overscroll-behavior:contain;scrollbar-gutter:stable}
#direct-message-list{display:flex;flex-direction:column;gap:12px}.direct-bubble{align-self:flex-start;max-width:90%;border:1px solid #dae4ef;border-radius:15px 15px 15px 4px;background:#f4f8fc;padding:12px 15px}
.direct-bubble.own{align-self:flex-end;background:#e5f2ff;border-color:#bad8f5;border-radius:15px 15px 4px 15px}.direct-bubble header{display:flex;flex-wrap:wrap;gap:7px 14px;align-items:center;font-size:12px}.direct-bubble time{color:#59718b;font-size:11px}.direct-bubble p{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0;font-size:15px;line-height:1.5}
.direct-compose{display:flex;gap:12px;padding:14px 18px;border-top:1px solid #d6e5f4;background:#fff;align-items:flex-end;flex-shrink:0}.direct-compose textarea{flex:1;min-width:0;min-height:64px;max-height:180px;resize:vertical;font-size:16px}.direct-compose .button{min-height:46px}
.direct-empty{padding:8px 12px;color:#59718b;font-size:13px}.direct-new{align-self:center;margin:4px}.direct-conversation [hidden]{display:none!important}
@media(max-width:760px){.direct-layout{grid-template-columns:minmax(0,1fr);gap:12px}.direct-sidebar{max-height:none;padding:16px}.direct-layout:not(.direct-selected) .direct-conversation{display:none}.direct-selected .direct-sidebar{display:none}.direct-selected .direct-conversation{height:calc(var(--portal-viewport,100dvh) - 180px - env(safe-area-inset-bottom));min-height:230px}.direct-app:has(.direct-selected)>.page-heading{display:none}.direct-back{display:inline-flex;flex-shrink:0;font-size:12px;padding:8px}.direct-heading{padding:12px;gap:10px}.direct-heading h2{font-size:17px}.direct-heading p{font-size:11px}.direct-log{padding:12px}.direct-bubble{max-width:94%;padding:10px 12px}.direct-compose{padding:10px;gap:8px}.direct-compose .button{padding:10px 12px}.direct-person{min-height:60px}}
@media(max-width:760px){body.portal-direct-open{height:var(--portal-viewport,100dvh);overflow:hidden;padding-bottom:0}.portal-direct-open .workspace{height:calc(var(--portal-viewport,100dvh) - 71px - env(safe-area-inset-bottom));min-height:0;overflow:hidden}.portal-direct-open #main{height:calc(var(--portal-viewport,100dvh) - 133px - env(safe-area-inset-bottom));padding:12px 16px;overflow:hidden}.portal-direct-open #main>.direct-app{height:100%;display:flex;flex-direction:column}.portal-direct-open .direct-layout{flex:1;min-height:0}.portal-direct-open .direct-selected .direct-conversation{height:100%;min-height:0}.portal-direct-open #direct-error:empty{display:none}.portal-direct-open footer{display:none}}
