/* Desktop-only appearance. Mobile portal does not load this stylesheet. */
:root{--bg:#f3f6fb;--panel:#fff;--ink:#172c47;--muted:#62738a;--line:#e3eaf3;--accent:#1765df;--soft:#edf4ff;--shadow:0 5px 24px #18345b06;color-scheme:light}
:root[data-theme=dark]{--bg:#101a2b;--panel:#19263a;--ink:#e4edf9;--muted:#a4b5cb;--line:#304158;--accent:#82b4ff;--soft:#223c60;--shadow:0 5px 24px #0002;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,"Microsoft JhengHei",sans-serif;line-height:1.65}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:var(--panel);color:var(--ink);padding:9px 15px;border-radius:10px;transition:background .15s,border-color .15s}button:hover:not(:disabled){background:var(--soft);border-color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #438eff66;outline-offset:2px}.primary{background:#1765df;color:#fff;border-color:#1765df}.primary:hover:not(:disabled){background:#0c50c0;color:#fff}.danger{color:#c63d50;border-color:#efbdc6}input,select,textarea{color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:10px 12px;max-width:100%}textarea{min-height:110px}label{color:var(--muted);font-size:14px;display:block;margin:10px 0}label>input:not([type=checkbox]),label>select,label>textarea{display:block;width:100%;margin-top:5px}h1,h2,h3{line-height:1.4;letter-spacing:.02em}h1{font-size:30px}h2{font-size:22px}h3{font-size:17px}small{color:var(--muted)}[hidden]{display:none!important}#app{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}.cloud-sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;background:linear-gradient(165deg,#172d45,#142337);padding:25px 18px;color:#f2f7ff;gap:0}.brand-mark{display:inline-grid;place-items:center;border-radius:12px;background:#ffffff16;color:#b9d8ff;font-size:30px;width:50px;height:50px}.cloud-sidebar h2{font-size:19px;margin:14px 0 3px}.cloud-sidebar>p{font-size:13px;color:#bdcde0;margin:5px 0 22px}.cloud-sidebar nav{display:grid;gap:5px}.cloud-sidebar nav button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:0;border-radius:9px;background:transparent;color:#cbd9e9;padding:11px 13px;font-size:14px}.cloud-sidebar nav button:hover{background:#ffffff0d;color:#fff}.cloud-sidebar nav button[aria-current=page]{background:#1765df;color:#fff;box-shadow:0 4px 12px #03132c44}.cloud-sidebar footer{color:#8fa6c0;font-size:11px;line-height:1.8;margin-top:24px}.nav-badge{margin-left:auto;background:#e44362;color:#fff;font-size:12px;border-radius:20px;padding:0 7px;min-width:22px;text-align:center}.cloud-main{padding:22px 30px 44px;min-width:0;max-width:1800px;width:100%;margin:0 auto}.identity{font-size:14px;font-weight:600;margin:0 0 10px}.topbar{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:10px 16px;gap:10px;align-items:center;box-shadow:var(--shadow)}.topbar>div{max-width:175px}.topbar label{font-size:12px;margin:0}.topbar button{font-size:13px;margin:0}#connection{font-size:12px;margin:10px 0 20px;color:var(--muted)}.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px;margin:18px 0;box-shadow:var(--shadow)}.card h2:first-child{margin-top:0}.btn-row{gap:10px;display:flex;align-items:center;flex-wrap:wrap}.btn-row h2{margin-right:auto}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.stat{background:var(--soft);border:1px solid var(--line);border-radius:15px;padding:20px;min-width:0}.stat:nth-child(2){border-top:3px solid #e3a42f}.stat:nth-child(3){border-top:3px solid #37a585}.stat:nth-child(4){border-top:3px solid #9876da}.stat:first-child{border-top:3px solid #4389ee}.stat p{color:var(--muted);font-size:14px;margin:0}.stat strong{display:block;font-size:34px;color:var(--ink);margin:8px 0}.stat small{display:block}.welcome{padding:20px 4px}.welcome h1{margin:5px 0}.welcome p{margin:8px 0;color:var(--muted)}.dashboard-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:20px}.dashboard-grid>.card{margin-bottom:0}.recent-case{display:grid;grid-template-columns:1fr auto;text-align:left;width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:13px 2px;background:transparent}.recent-case strong{color:var(--accent);font-size:13px}.recent-case span{grid-column:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:45vw}.recent-case small{grid-column:2;grid-row:1/3;margin-left:10px;align-self:center}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:14px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}th{background:var(--soft);font-size:12px;color:var(--muted);white-space:nowrap}tbody tr:hover{background:var(--soft)}td small{display:block;font-size:12px}.case-table td:nth-child(2){max-width:460px;white-space:pre-wrap}.case-table td:first-child{min-width:185px}.pagination,.date-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:20px;font-size:13px}.pagination label{width:80px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}dialog{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:18px;box-shadow:0 20px 80px #0004;width:min(850px,94vw);max-height:90dvh;overflow:auto;padding:24px}dialog::backdrop{background:#07142b99;backdrop-filter:blur(3px)}dialog header{display:flex;align-items:center;justify-content:space-between;gap:12px}dialog footer{margin-top:20px}fieldset{border-color:var(--line);border-radius:12px}pre{white-space:pre-wrap;overflow-wrap:anywhere}.reminder-row{border-color:var(--line)}.reminder-row.unread{background:var(--soft)}.reminder-row.read{color:var(--muted)}.fc{--fc-page-bg-color:var(--panel);--fc-neutral-bg-color:var(--soft);--fc-border-color:var(--line);--fc-button-bg-color:#1765df;--fc-button-border-color:#1765df;--fc-button-hover-bg-color:#0c50c0;--fc-today-bg-color:var(--soft);--fc-list-event-hover-bg-color:var(--soft)}#startup{width:min(460px,95vw);margin:6vh auto;background:var(--panel);padding:30px;border:1px solid var(--line);border-radius:18px}#startup h1{font-size:25px}.empty{color:var(--muted);padding:35px;text-align:center}
@media(min-width:1600px){.cloud-main{padding-left:40px;padding-right:40px}}@media(max-width:1150px){#app{grid-template-columns:205px minmax(0,1fr)}.cloud-main{padding:18px}.topbar{flex-wrap:wrap}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}}@media(max-width:760px){#app{display:block}.cloud-sidebar{height:auto;position:static;padding:15px}.brand-mark,.cloud-sidebar footer{display:none}.cloud-sidebar nav{display:flex;flex-wrap:wrap;gap:6px}.cloud-sidebar nav button{width:auto;padding:8px 10px}.cloud-sidebar h2{margin:0}.cloud-sidebar>p{margin:5px 0 12px}.cloud-main{padding:14px}.card{padding:15px}.grid3{grid-template-columns:1fr}.stats-grid{gap:10px}.stat{padding:14px}.stat strong{font-size:28px}h1{font-size:25px}.recent-case{display:block}.recent-case span,.recent-case small{display:block;max-width:75vw;margin:4px 0}.topbar>div{max-width:150px}.case-table{min-width:650px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
button.primary{background:#1765df;color:#fff;border-color:#1765df}button.primary:hover:not(:disabled){background:#0c50c0}.cloud-sidebar nav svg{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.cloud-sidebar{min-height:100vh}.cloud-sidebar footer{margin-top:auto;padding-top:24px}
.compact-topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;min-height:60px}.compact-topbar .identity{margin:0;font-size:13px;line-height:1.5;flex:1}.topbar .topbar-actions{display:flex;gap:8px;align-items:center;max-width:none}.topbar-actions details{position:relative}.topbar-actions summary{cursor:pointer;border:1px solid var(--line);border-radius:10px;padding:8px 12px;font-size:13px;white-space:nowrap}.topbar-actions details>div{position:absolute;right:0;top:100%;z-index:20;min-width:140px;display:grid;gap:6px;background:var(--panel);padding:10px;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.welcome{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 2px}.welcome h1{font-size:25px}.welcome label{display:flex;align-items:center;gap:10px;margin:0;font-size:13px}.welcome input{width:155px;margin:0!important}.stat-link{text-align:left;display:block;width:100%;color:var(--ink)}.stat-link>span{font-size:14px;color:var(--muted)}.stat-link:hover{border-color:var(--accent);box-shadow:0 5px 18px #1765df18}.loading-state{min-height:180px}.loading-state p{color:var(--muted)}.sync-note,.read-only-note{padding:10px;border-radius:9px;background:var(--soft);color:var(--muted);font-size:13px}.date-tools{margin-top:8px}#connection:not([hidden]){padding:9px 12px;background:var(--soft);border:1px solid var(--line);border-radius:9px}#content{padding-top:12px}@media(max-width:1050px){.compact-topbar{align-items:flex-start}.topbar-actions{flex-wrap:wrap;justify-content:flex-end}.compact-topbar .identity{min-width:220px}}@media(max-width:760px){.compact-topbar{display:block}.topbar .topbar-actions{justify-content:flex-start;margin-top:10px}.welcome{align-items:flex-start;flex-wrap:wrap}}

/* Recent business record summary; desktop shell only. */
.recent-case .recent-heading{grid-column:1;grid-row:1;display:flex;gap:12px;flex-wrap:wrap;white-space:normal;max-width:none}
.recent-case .recent-heading time{font-size:12px;color:var(--muted)}
.recent-case .recent-location{grid-column:1;grid-row:2;white-space:normal;max-width:none;color:var(--muted);font-size:13px}
.recent-case .recent-content{grid-column:1;grid-row:3;white-space:pre-wrap;overflow-wrap:anywhere;max-width:none}
.recent-case .recent-status{grid-column:2;grid-row:1/4;white-space:nowrap;align-self:center}
/* Separate history dialog never replaces the underlying edit form. */
#case-history-dialog{overflow-wrap:anywhere}#case-history-dialog>header{position:sticky;top:-24px;background:var(--panel);z-index:1;padding:8px 0}#case-history-dialog>header button{flex-shrink:0}#case-history-body{min-width:0;white-space:normal}#desktop-session-warning{margin:12px;overflow-wrap:anywhere}

/* Shared case-history content, scoped away from editors and other timelines. */
.case-history-timeline{min-width:0;border-left:2px solid var(--line);padding-left:16px;margin-block:16px}.case-history-entry{min-width:0;margin-block:20px;overflow-wrap:anywhere}.case-history-entry .case-history-meta{font-size:13px;color:var(--muted);margin:0 0 8px}.case-history-entry .case-history-label{font-size:14px;margin:6px 0}.case-history-entry .case-history-note{font-size:18px;line-height:1.7;font-weight:600;white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0}.case-history-entry .status{display:inline-block;font-size:13px;line-height:1.5;padding:4px 9px;border-radius:8px;margin-block:4px;max-width:100%;white-space:normal}.case-history-entry .status.pending{color:#eb5360;background:#ef444418}.case-history-entry .status.working{color:#c88712;background:#f59e0b18}.case-history-entry .status.done{color:#0da87b;background:#10b98118}.case-history-entry details{min-width:0;overflow-wrap:anywhere}.case-history-entry details p{white-space:pre-wrap}
