/* Junfa / operations UI. Screen-only: existing printed documents are untouched. */
@media screen {
  :root,html[data-theme="light"] {
    --canvas-0:#f3f5f8;--canvas-1:#f3f5f8;--canvas-grad:#f3f5f8;
    --surface:#fff;--surface-solid:#fff;--surface-elevated:#fff;--surface-glass:#fff;--surface-muted:#f7f9fc;
    --ink:#182b43;--ink-secondary:#43566d;--ink-muted:#627187;--ink-faint:#748195;
    --line:#e2e8ef;--line-strong:#ccd6e2;--input-border:#c6d2e0;
    --accent:#245fca;--accent-text:#1d55b5;--accent-soft:#edf3ff;
    --success:#16754e;--success-soft:#edf8f2;--warning:#985d12;--warning-soft:#fff5e5;
    --danger:#bd3542;--danger-soft:#fff0f1;--sidebar-w:224px;
    --sidebar-bg:#fff;--sidebar-border:#e2e8ef;--sidebar-text:#42556c;--sidebar-muted:#6b7a8e;
    --sidebar-hover:#f3f6fb;--sidebar-active:#edf3ff;--sidebar-active-text:#1d55b5;
    --radius-sm:6px;--radius:10px;--radius-lg:12px;--blur:none;
    --shadow-sm:0 1px 2px #182b4305;--shadow-md:0 3px 14px #182b4307;--shadow-lg:0 16px 48px #182b431a;
    --mono:ui-monospace,"Cascadia Mono","Microsoft YaHei",monospace;
  }
  html[data-theme="dark"] {
    --canvas-0:#101923;--canvas-1:#101923;--canvas-grad:#101923;--surface:#182431;--surface-solid:#182431;
    --surface-elevated:#202f40;--surface-glass:#182431;--surface-muted:#202f40;--ink:#e8eff8;
    --ink-secondary:#c1ccda;--ink-muted:#a4b3c6;--ink-faint:#a4b3c6;--line:#344459;--line-strong:#465a70;
    --input-bg:#182431;--input-border:#52657b;--input-text:#e8eff8;--accent:#8ab6ff;--accent-text:#a6c7ff;
    --accent-soft:#233f66;--sidebar-bg:#15212f;--sidebar-border:#344459;--sidebar-text:#c1ccda;
    --sidebar-muted:#a4b3c6;--sidebar-hover:#202f40;--sidebar-active:#233f66;--sidebar-active-text:#a6c7ff;
  }
  body {background:var(--canvas-1);font-size:16px;line-height:1.55;font-variant-numeric:tabular-nums}
  body::before,body::after {display:none}
  button,input,select,textarea {font-family:inherit}
  button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible {outline:3px solid var(--accent);outline-offset:3px}
  button:disabled {cursor:not-allowed;opacity:.5}
  .navbar {width:var(--sidebar-w);padding:24px 12px 14px;box-shadow:none;backdrop-filter:none;border-right:1px solid var(--sidebar-border)}
  .logo {padding:0 10px 24px;gap:10px;align-items:center}
  .logo img {width:38px;height:44px;object-fit:contain;border-radius:5px;background:white}
  .logo span {font-size:17px;line-height:1.5;color:var(--ink);font-weight:750;letter-spacing:0}
  .logo small {display:block;font-size:12px;color:var(--ink-muted);font-weight:400;margin-top:2px}
  .nav-group-label {font-size:12px;letter-spacing:.06em;color:var(--sidebar-muted);padding:18px 16px 6px}
  .nav-menu {gap:3px}
  .nav-item {min-height:43px;border-radius:7px;font-size:14px;gap:12px;padding:9px 14px;transition:background .15s}
  .nav-item.active {box-shadow:inset 3px 0 var(--accent);font-weight:700;background:var(--sidebar-active)}
  .nav-item.active::before,.nav-item.active::after {display:none}
  .nav-icon {width:20px;height:20px;font-size:17px}
  .admin-session-summary {border-top:1px solid var(--line);padding-top:12px;font-size:14px;gap:10px}
  .main-container {margin-left:var(--sidebar-w);padding:28px 32px 48px;max-width:none;min-width:0}
  .jf-context {display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:0 0 18px;margin-bottom:24px;font-size:14px;color:var(--ink-muted)}
  .jf-context strong {color:var(--ink);font-weight:600}
  .jf-context span+span {border-left:1px solid var(--line);padding-left:14px;margin-left:14px}
  .page-heading {margin-bottom:24px;align-items:center;gap:16px}
  .page-heading h1,.page-header h1,.dg-page-hero h1 {font-size:28px;letter-spacing:-.04em;line-height:1.35;font-weight:750;margin:3px 0 8px}
  .page-eyebrow,.dg-eyebrow {font-size:12px;color:var(--ink-muted);letter-spacing:.06em}
  .page-heading p,.page-subtitle,.dg-page-hero p {font-size:14px;color:var(--ink-muted)}
  .btn {min-height:40px;padding:8px 16px;font-size:14px;border-radius:6px;box-shadow:none;transform:none}
  .btn:hover {transform:none;box-shadow:none}
  .btn-primary {background:var(--accent);border-color:var(--accent);color:#fff}
  html[data-theme="dark"] .btn-primary {color:#10233d}
  .btn-success {background:var(--surface);border:1px solid var(--line-strong);color:var(--ink)}
  .btn-sm {min-height:34px;padding:5px 12px}
  .btn-secondary {background:var(--surface);border-color:var(--line-strong);color:var(--ink-secondary)}
  .quick-actions .btn::before {display:none}
  .card,.dashboard-todo,.dg-panel,.dg-viz-card {background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-sm);backdrop-filter:none}
  .card:hover {transform:none;box-shadow:var(--shadow-sm)}
  .card-header {padding-bottom:16px;border-bottom:1px solid var(--line)}
  .card-title {font-size:18px!important;letter-spacing:0}
  .dashboard-todo {padding:22px;margin-bottom:20px}
  .dashboard-todo-heading {margin-bottom:18px}
  .dashboard-todo-heading h2 {font-size:18px;margin:0}
  .dashboard-todo-heading .page-eyebrow {display:none}
  .dashboard-todo-heading>span {font-size:12px;color:var(--ink-muted)}
  .dashboard-todo-grid {gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}
  .dashboard-todo-card {position:relative;min-height:104px;display:grid;grid-template-columns:1fr auto;gap:8px;padding:16px;background:var(--surface-muted);border:1px solid var(--line);border-radius:8px;text-align:left;box-shadow:none}
  .dashboard-todo-icon {display:none}
  .dashboard-todo-copy {min-width:0}
  .dashboard-todo-copy strong {font-size:14px;color:var(--ink)}
  .dashboard-todo-copy small {font-size:12px;line-height:1.6;margin-top:6px;color:var(--ink-muted)}
  .dashboard-todo-card>b {font-size:30px;line-height:1.3;color:var(--ink);grid-column:2;grid-row:1}
  .dashboard-todo-card>i {display:none}
  .dashboard-todo-card.has-attention {background:var(--warning-soft);border-color:#e6cfa9}
  .dashboard-todo-card.has-danger {background:var(--danger-soft);border-color:#efc1c7}
  .dashboard-kpis>div {background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:8px!important;text-align:left!important;padding:18px 20px!important;animation:none!important}
  .dashboard-kpis .stat-value {color:var(--ink)!important;font-size:28px!important;font-family:inherit!important;letter-spacing:-.025em}
  .dashboard-kpis>div>div:first-child {color:var(--ink-muted)}
  .dashboard-summary {background:var(--surface-muted);border:1px solid var(--line);border-radius:8px;padding:14px 4px}
  .dashboard-summary>div {background:transparent!important;border:0!important;border-radius:0!important;border-right:1px solid var(--line)!important}
  .dashboard-summary>div:last-child {border-right:0!important}
  .table {font-size:14px;border-collapse:collapse}
  .table th {font-size:14px;font-weight:600;color:var(--ink-secondary);background:var(--surface-muted);padding:13px 14px;white-space:nowrap}
  .table td {font-size:14px;padding:14px;border-bottom:1px solid var(--line)}
  .table tbody tr:hover {background:var(--surface-muted)}
  .tag {font-size:13px!important;font-weight:600;border-radius:5px;padding:3px 8px;white-space:normal;line-height:1.5}
  .form-input,.form-select,input:not([type=checkbox]):not([type=radio]),select,textarea {font-size:14px;border-radius:6px;border-color:var(--input-border);min-height:40px}
  .dashboard-search input,.dashboard-search select {border:1px solid var(--input-border)!important;background:var(--input-bg)!important;font-size:14px!important}
  .main-container [style*="font-size:11px"],.main-container [style*="font-size:12px"],.main-container [style*="font-size:13px"] {font-size:14px!important}
  .main-container .tag[style] {font-size:13px!important}
  .modal-content,.modal,.project-detail-panel {border:1px solid var(--line)!important;border-radius:12px!important;box-shadow:var(--shadow-lg)!important;background:var(--surface-solid)}
  .project-detail-overlay {background:#14243c55!important;justify-content:flex-end!important;padding:0!important}
  .project-detail-panel {width:min(100%,1040px)!important;max-height:100dvh!important;height:100dvh;border-radius:0!important;max-width:none!important}
  .project-detail-header {border-bottom:1px solid var(--line)!important;gap:12px}
  .project-detail-header h3 {font-size:22px!important;overflow-wrap:anywhere}
  .jf-project-meta {color:var(--ink-muted);font-size:14px;margin-top:4px}
  .jf-project-tabs {display:flex;gap:4px;padding:0 24px;border-bottom:1px solid var(--line);overflow-x:auto;background:var(--surface)}
  .jf-project-tabs button {border:0;border-bottom:3px solid transparent;background:none;color:var(--ink-secondary);padding:15px 16px;font-size:14px;white-space:nowrap;cursor:pointer}
  .jf-project-tabs button.active {color:var(--accent-text);border-bottom-color:var(--accent);font-weight:700}
  .jf-project-section {min-height:240px}
  .jf-project-section header {display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:20px}
  .jf-project-section header p {font-size:14px;color:var(--ink-muted)}
  .jf-project-record {display:flex;align-items:center;gap:16px;justify-content:space-between;border-bottom:1px solid var(--line);padding:15px 0;font-size:14px}
  .jf-project-record strong {display:block;font-size:16px}
  .jf-project-record small {display:block;color:var(--ink-muted);font-size:13px;margin-top:4px}
  .jf-project-empty {padding:48px 16px;text-align:center;color:var(--ink-muted)}
  .admin-login-screen {background:var(--canvas-1);min-height:100dvh}
  .admin-login-atmosphere,.admin-login-status,.admin-login-hero,.admin-login-card-top {display:none}
  .admin-login-frame {max-width:1100px;padding:32px 24px;min-height:100dvh;gap:24px}
  .admin-login-content {display:block;width:min(100%,460px);margin:auto;padding:24px 0}
  .admin-login-brand strong {font-size:18px}.admin-login-brand span {font-size:13px;letter-spacing:0}
  .admin-login-card {background:var(--surface);padding:36px;border:1px solid var(--line);box-shadow:var(--shadow-md);border-radius:12px}
  .admin-login-card h2 {font-size:28px;margin:0 0 10px}
  .admin-login-card>p {font-size:14px;margin-bottom:28px;line-height:1.7}
  .admin-login-card>label,.admin-login-label-row label {font-size:14px;margin-bottom:8px}
  .admin-login-field input {min-height:48px;padding:12px;font-size:16px;border-radius:6px}
  .admin-login-field {margin-bottom:22px}
  .admin-login-submit {min-height:48px;background:var(--accent);color:#fff;border-radius:6px;box-shadow:none;font-size:16px}
  .admin-login-submit b {display:none}.admin-login-note {font-size:12px;margin-top:20px}
  .admin-login-footer {font-size:12px;color:var(--ink-muted);justify-content:center;gap:14px;flex-wrap:wrap}
  .dg-page-hero {background:none;border:0;box-shadow:none;padding:0 0 20px}
  @media (max-width:1200px) {.main-container{padding:24px}.dashboard-todo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-summary{grid-template-columns:repeat(3,1fr)!important}}
  @media (max-width:900px) {.navbar{display:flex;flex-direction:row;align-items:center;justify-content:space-between;inset:0 0 auto;width:100%;height:64px;padding:10px 16px;border-right:0;border-bottom:1px solid var(--line)}.navbar>.nav-menu,.navbar>.admin-session-summary{display:none}.mobile-menu-btn{position:static;border-radius:6px}.logo{padding:0}.logo img{height:38px}.logo span{font-size:16px}.logo small{display:none}.main-container{margin-left:0;padding:86px 16px 32px}.jf-context{padding-bottom:12px;margin-bottom:18px}.page-heading h1{font-size:24px}.dashboard-kpis{grid-template-columns:repeat(2,1fr)!important}.jf-context>div:last-child{display:none}}
  @media (max-width:600px) {.quick-actions{flex-wrap:wrap}.dashboard-todo{padding:16px}.dashboard-todo-grid{gap:8px}.dashboard-todo-card{padding:12px;min-height:110px}.dashboard-todo-card>b{font-size:25px}.dashboard-todo-copy small{display:none}.dashboard-todo-heading>span{max-width:140px;text-align:right}.admin-login-card{padding:26px 22px}.admin-login-frame{padding:22px 16px}.admin-login-footer>span:first-child{display:none}.jf-project-tabs{padding:0 8px}.project-detail-body{padding:16px!important}}
  @media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
}
