:root { --office-ink:#202b32; --office-muted:#728086; --office-line:#e1e7e8; --office-green:#15735e; --office-bg:#f4f6f6; }
* { letter-spacing:0!important; }
body { background:var(--office-bg); color:var(--office-ink); font-family:Inter,"Microsoft YaHei",system-ui,sans-serif; font-size:13px; }
body.office-modal-open { overflow:hidden; }
button,input,select,textarea { font:inherit; }
button { display:inline-flex; align-items:center; justify-content:center; gap:6px; border-radius:5px!important; cursor:pointer; }
button:disabled { cursor:not-allowed; opacity:.55; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible { outline:2px solid #21866c; outline-offset:2px; }
svg.lucide { width:17px; height:17px; flex-shrink:0; }
button.primary,.secondary-btn.primary,.primary-btn { background:var(--office-green); border-color:var(--office-green); color:#fff; }
button.primary:hover,.secondary-btn.primary:hover { background:#105f4d; }
.app-shell { display:grid; grid-template-columns:222px minmax(0,1fr); }
.sidebar { position:sticky; top:0; height:100dvh; overflow-y:auto; background:#fff; border-right:1px solid var(--office-line); padding:0 12px 16px; }
body:not(.second-brain-mode) .sidebar { background:#fff; color:var(--office-ink); box-shadow:none; }
.brand::before,.brand::after { display:none; content:none; }
.brand { padding:27px 12px 24px; border-bottom:1px solid var(--office-line); margin-bottom:14px; display:flex; align-items:center; gap:10px; }
.brand .office-brandmark { width:38px; height:38px; display:grid; place-items:center; background:var(--office-green); color:white; border-radius:7px; font-size:22px; font-weight:600; }
.brand strong { display:block; font-size:17px; color:#183c30; line-height:1.6; }
.brand span:not(.office-brandmark) { font-size:10px; color:#718078; }
.nav { display:block; gap:16px; }.nav-group { margin-bottom:16px; }.nav-group-label { color:#9ba5a3; font-size:11px; padding:0 12px 7px; }
.nav button { min-height:39px; width:100%; padding:9px 12px; margin-bottom:3px; justify-content:flex-start; border:0; background:transparent; color:#53615d; font-size:13px; }
.nav button span { flex:1; text-align:left; }.nav button svg { color:#75847d; }.nav button.active { color:#13664e; background:#e8f3ed; font-weight:600; box-shadow:none; }
.nav button.active svg { color:#13664e; }.nav button:hover { background:#f1f5f3; }.nav button small { background:#d5e9dd; color:#146c50; border-radius:4px; padding:0 5px; }
.sync-card { display:none; }.office-company { padding:16px 12px 0; font-size:11px; color:#8a9790; border-top:1px solid var(--office-line); line-height:1.9; }
.main { min-width:0; background:var(--office-bg); }.topbar { min-height:64px; padding:12px 28px; background:white; border-bottom:1px solid var(--office-line); box-shadow:none; gap:20px; }
.office-breadcrumb { white-space:nowrap; display:flex; align-items:center; gap:12px; color:#8c9893; font-size:12px; }.office-breadcrumb b { color:#384c42; font-weight:500; }
.global-search { margin-left:auto; width:280px; max-width:100%; border:1px solid var(--office-line); border-radius:5px; background:#fafbfb; padding:6px 10px; }
.global-search input { width:100%; font-size:12px; }.global-search>span { display:none; }.top-alerts { display:none; }.account { font-size:12px; white-space:nowrap; }
.view-root { max-width:1800px; padding:26px 28px 40px; margin:auto; }.page-head { margin-bottom:23px; align-items:center; gap:16px; }
.page-head { min-height:0; padding:0; background:none; border:0; }.global-search { flex:none; }
.page-kicker { display:none; }.page-heading h1 { font-size:23px; font-weight:650; line-height:1.4; color:#23362b; }.page-heading p:empty { display:none; }.page-heading p { font-size:12px; color:#78877e; }
.actions { gap:8px; display:flex; flex-wrap:wrap; }.secondary-btn { min-height:35px; padding:7px 12px; font-size:12px; background:#fff; border:1px solid #d8e1dd; color:#42554a; box-shadow:none; }
.office-band { background:white; border-top:1px solid var(--office-line); border-bottom:1px solid var(--office-line); margin:20px 0; min-width:0; }
.office-band>header { padding:18px 18px 14px; display:flex; justify-content:space-between; align-items:center; gap:12px; }.office-band h2 { font-size:15px; margin:0; }.office-band>header button { font-size:12px; border:0; background:none; color:var(--office-green); }
.office-tabs,.office-detail-tabs { display:flex; gap:22px; border-bottom:1px solid var(--office-line); padding:0 18px; overflow-x:auto; }
.office-tabs button,.office-detail-tabs button { border:0; background:none; min-height:48px; padding:14px 0; border-radius:0!important; white-space:nowrap; color:#76867c; position:relative; font-size:12px; }
.office-tabs button.active,.office-detail-tabs button.active { color:var(--office-green); font-weight:600; }
.office-tabs button.active:after,.office-detail-tabs button.active:after { content:""; position:absolute; bottom:0; left:0; right:0; height:3px; background:var(--office-green); }
.office-tabs button span { background:#f1f4f2; border-radius:3px; padding:0 4px; font-size:10px; }.office-tabs button.active span { background:#e3f0e8; }
.office-filters { padding:16px 18px; display:flex; flex-wrap:wrap; align-items:center; gap:10px; font-size:12px; }.office-filters label { display:flex; align-items:center; gap:8px; color:#6f8076; }
.office-filters input { border:1px solid #d9e1dd; border-radius:4px; min-height:34px; padding:6px 8px; max-width:100%; color:#34453b; background:white; }.office-filters input[type=date] { width:135px; }
.office-filters .office-search { min-width:250px; flex:1; max-width:380px; position:relative; }.office-search svg { position:absolute; left:10px; color:#92a099; }.office-search input { width:100%; padding-left:34px; }
.office-filters button,.office-pagination button,.office-detail-tools button,.office-selection button { border:1px solid #d9e1dd; padding:7px 10px; background:white; color:#415c4b; min-height:34px; }.office-filters button.primary { background:var(--office-green); color:white; }
.office-trash { margin-left:auto; white-space:nowrap; }.office-filters input[type=checkbox] { min-height:auto; width:14px; }
.office-table { margin:0; border:0; }.office-table table { width:100%; min-width:1040px; border-collapse:collapse; font-size:12px; }.office-table th { padding:12px 15px; background:#f7f9f8; color:#8a9790; font-weight:500; white-space:nowrap; border-top:1px solid #edf0ee; border-bottom:1px solid var(--office-line); }
.office-table td { padding:15px; color:#425549; border-bottom:1px solid #edf0ee; vertical-align:middle; height:83px; }.office-table tbody tr:hover { background:#f7fbf8; }.office-table td small { display:block; font-size:11px; color:#97a299; margin-top:5px; }.office-table td b { font-weight:500; }
.office-table .check { width:35px; padding-right:0; }.office-table .check input { accent-color:var(--office-green); width:14px; height:14px; }.office-route { max-width:255px; min-width:150px; overflow-wrap:anywhere; }.office-table .amount { white-space:nowrap; font-variant-numeric:tabular-nums; }.office-table .balance { color:#ae6b20; }
.office-text-link { background:none; border:0; color:#203d2c; font-weight:600; padding:0; font-size:13px; }.office-text-link:hover { color:var(--office-green); text-decoration:underline; }.office-table .row-actions { gap:6px; flex-wrap:nowrap; }.office-table .row-actions button { width:30px; height:30px; padding:6px; background:white; border:1px solid #dfe6e1; color:#718178; }
.office-pagination { display:flex; align-items:center; justify-content:space-between; padding:16px 18px; color:#849188; font-size:12px; }.office-pagination>div { display:flex; align-items:center; gap:13px; }.office-pagination button { width:30px; min-height:30px; padding:5px; }
.office-empty { padding:45px 15px; display:flex; flex-direction:column; align-items:center; gap:13px; color:#95a197; font-weight:400; }.office-empty svg { width:28px; height:28px; }.office-empty b { font-weight:400; }
.office-error { color:#b63737; background:#fff2f2; padding:12px; border-left:3px solid #cf6666; font-size:13px; }.office-error[hidden] { display:none; }.office-selection { padding:10px 18px; background:#edf7ef; display:flex; align-items:center; gap:12px; }
.office-summary { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); background:white; border:1px solid var(--office-line); border-radius:6px; }.office-metric { display:flex; flex-direction:column; align-items:flex-start; gap:15px; padding:22px; border:0; border-right:1px solid var(--office-line); background:none; text-align:left; }.office-metric:last-child { border:0; }.office-metric>span { display:flex; align-items:center; gap:8px; color:#7b8b80; font-size:12px; }.office-metric>b { font-size:30px; font-weight:600; line-height:1; color:#344e3d; }.office-metric>small { display:flex; gap:15px; align-items:center; color:#99a69d; font-size:10px; }.office-metric:nth-child(2)>b { color:#5b7d9b; }.office-metric:nth-child(4)>b { color:#b8853a; }
.office-shortcuts { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); padding:0 18px 20px; gap:14px; }.office-shortcuts button { border:1px solid var(--office-line); background:white; padding:13px 10px; justify-content:flex-start; color:#516859; font-size:12px; }.office-shortcuts button svg:last-child { margin-left:auto; color:#9aa79f; }
.office-modal { width:min(1000px,calc(100vw - 40px)); max-width:1000px; border-radius:7px; box-shadow:0 20px 70px #17281e33; border:1px solid #d6dfd9; }.modal-root { background:#20322965; backdrop-filter:none; }.modal-head { padding:18px 24px; background:white; border-bottom:1px solid var(--office-line); }.modal-head h2 { font-size:17px; color:#304938; font-weight:600; }.modal-body { background:#fff; padding:0 24px 22px; max-height:calc(100dvh - 160px); }.modal-actions { background:#fbfcfb; padding:14px 24px; border-top:1px solid var(--office-line); display:flex; gap:8px; flex-wrap:wrap; }.modal-actions>button:first-child { margin-left:auto; }
.office-form-section { padding:20px 0; border-bottom:1px solid var(--office-line); }.office-form-section h3,.office-form-section summary { font-size:14px; margin:0 0 16px; color:#3c5243; font-weight:600; }.office-form-section h3 span { font-size:11px; color:#94a096; margin-left:10px; font-weight:400; }.office-form-section .form-grid { gap:16px 24px; }.field { color:#617166; font-size:12px; min-width:0; }.field input,.field select,.field textarea { width:100%; min-height:37px; border:1px solid #d4dfd7; border-radius:4px; color:#2e4636; font-size:13px; padding:8px 10px; background:white; }
.office-number-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px 24px; margin-bottom:16px; }.office-balance { padding:0 12px; display:flex; flex-direction:column; justify-content:space-around; background:#f1f7f3; border-radius:4px; color:#738779; }.office-balance span { font-size:12px; }.office-balance b { font-size:20px; color:#28714b; font-weight:500; }.office-detail-tabs { position:sticky; top:0; background:white; z-index:2; margin:0 -24px; padding:0 24px; }.office-detail-body { padding-top:22px; min-height:320px; }
.office-detail-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); background:#f5f8f6; padding:18px; gap:15px; margin-bottom:20px; }.office-detail-summary>div { display:flex; flex-direction:column; gap:10px; }.office-detail-summary span { color:#849488; font-size:12px; }.office-detail-summary b { font-size:22px; color:#355841; font-weight:500; }
.office-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0; gap:18px 24px; }.office-facts>div { display:flex; gap:12px; min-width:0; }.office-facts dt { width:70px; flex-shrink:0; color:#8b9a90; font-size:12px; }.office-facts dd { margin:0; overflow-wrap:anywhere; color:#3c5143; }.office-detail-section { padding:20px 0; border-bottom:1px solid var(--office-line); }.office-detail-section h3,.office-detail-body h3 { font-size:14px; color:#54725d; }.office-pre { white-space:pre-wrap; font-size:13px; line-height:1.8; }.office-detail-tools { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:20px; }.office-detail-tools>b { margin-right:auto; font-size:12px; }
.panel,.mini-panel { border-radius:0; box-shadow:none; border-color:var(--office-line); }.cards-grid { gap:12px; }.stat-card { border-radius:5px; box-shadow:none; }.tag,.status-tag { font-size:11px; border-radius:4px; }.trip-file { background:white; }.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }.office-mobile-nav { display:none; }
.login-screen { background:#f1f5f2; }.login-panel { background:white; box-shadow:0 12px 65px #36553b12; border:1px solid #dce7de; border-radius:8px; max-width:860px; }.login-copy { background:#174c39; color:white; padding:48px 36px; }.login-copy h1 { font-size:29px; line-height:1.5; color:white; }.login-copy .product-mark { color:#b3d9c2; background:none; }.login-copy p { color:#b7cabe; }.login-proof { display:none; }.login-form { padding:40px; }.login-form h2 { font-size:20px; }
.sidebar .nav { position:static; width:auto; height:auto; overflow:visible; padding:0; background:transparent; border:0; box-shadow:none; }
.sidebar .nav small { position:static; margin-left:auto; }
.office-recognition summary { cursor:pointer; }
.office-recognition summary svg { width:17px; height:17px; vertical-align:middle; margin-right:6px; }
.office-recognition > .field { display:grid; gap:8px; margin-bottom:14px; }
.office-recognition [data-screenshot-import] { margin-bottom:14px; }
.office-recognition [data-screenshot-paste] { border:1px dashed #9cafb9; padding:12px; margin:10px 0; color:#456279; border-radius:4px; }
.office-recognition [data-screenshot-preview] { display:flex; flex-wrap:wrap; gap:12px; }
.office-recognition [data-recognition-status] { white-space:pre-wrap; overflow-wrap:anywhere; font-size:13px; line-height:1.7; color:#3c5243; }
.office-booking-content .field { display:grid; gap:8px; }
.office-booking-content textarea { line-height:1.7; resize:vertical; min-height:130px; overflow-wrap:anywhere; }
.office-booking-content [data-field="itinerary_text"] { min-height:230px; }
.office-detail-section .office-pre { overflow-wrap:anywhere; }
.sidebar .nav-group { display:block; margin:0 0 16px; }.sidebar .nav-group-label { display:block; }.sidebar .nav button { display:flex; min-width:0; }
@media (min-width:1600px) { .office-table td { height:87px; } }
@media (max-width:1150px) { .app-shell { grid-template-columns:190px minmax(0,1fr); }.brand { padding-left:0; padding-right:0; }.brand strong { font-size:15px; }.topbar { padding:12px 18px; }.view-root { padding:22px 18px; }.office-summary { grid-template-columns:repeat(3,minmax(0,1fr)); }.office-metric { border-bottom:1px solid var(--office-line); }.office-shortcuts { grid-template-columns:repeat(3,minmax(0,1fr)); }.office-trash { margin-left:0; }.global-search { width:220px; }.office-breadcrumb span { display:none; } }
@media (max-width:760px) { .app-shell { display:block; }.sidebar { display:none; position:fixed; left:0; top:58px; width:222px; height:calc(100dvh - 58px); z-index:50; box-shadow:10px 8px 30px #102c1920; }.sidebar.office-nav-open { display:block; }.office-mobile-nav { display:inline-flex; width:32px; height:32px; background:none; border:0; color:#42604a; }.topbar { position:sticky; top:0; z-index:40; height:58px; min-height:58px; padding:10px 14px; gap:10px; }.global-search { display:none; }.account { margin-left:auto; gap:7px; }.office-breadcrumb { gap:0; }.view-root { padding:20px 12px 30px; }.page-head { flex-wrap:wrap; gap:14px; margin-bottom:16px; }.page-heading h1 { font-size:21px; }.page-head .actions { width:100%; }.office-tabs { gap:18px; padding:0 12px; }.office-filters { padding:12px; gap:8px; }.office-filters .office-search { flex-basis:100%; max-width:none; min-width:0; }.office-filters input[type=date] { width:121px; }.office-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }.office-metric { padding:17px; gap:12px; }.office-metric>b { font-size:26px; }.office-shortcuts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:0 12px 12px; }.office-band>header { padding:15px 12px; }.office-modal { width:100vw; max-width:100vw; height:100dvh; max-height:100dvh; border-radius:0!important; display:flex; flex-direction:column; }.modal-root { padding:0; align-items:stretch; }.modal-head { padding:16px; }.modal-head h2 { font-size:15px; max-width:calc(100% - 50px); overflow-wrap:anywhere; }.modal-body { padding:0 16px 20px; flex:1; max-height:none; overflow:auto; }.modal-actions { padding:12px 16px; }.office-form-section .form-grid { grid-template-columns:1fr; gap:14px; }.office-number-grid { gap:14px 10px; }.office-number-grid .field input { padding:8px 6px; }.office-detail-tabs { margin:0 -16px; padding:0 16px; gap:18px; }.office-detail-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }.office-facts { grid-template-columns:1fr; gap:15px; }.login-panel { display:block; max-width:calc(100% - 28px); }.login-copy { padding:24px; }.login-copy h1 { font-size:24px; }.login-form { padding:24px; }.login-copy p { margin-bottom:0; }.office-detail-body .table-wrap { width:100%; }.office-detail-tools button { font-size:12px; }.office-selection { flex-wrap:wrap; } }
