/* CENTRAL 3.28 — compact screen layout; printed documents retain their own styles. */
@media screen {
  :root { --ink:#263342; --muted:#626f80; --line:#e2e6eb; }
  body { line-height:1.6; background:radial-gradient(ellipse at 100% 0,#b9974923,transparent 46%),#191b20; }
  button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:3px solid #b58b38; outline-offset:3px; }
  input::placeholder,textarea::placeholder { color:#717d8d; opacity:1; }
  button { touch-action:manipulation; }
  .app-shell { grid-template-columns:228px minmax(0,1fr); }
  .app-nav { padding:20px 14px; background:linear-gradient(160deg,#111318,#202019); overflow-y:auto; scrollbar-width:thin; }
  .brand { padding:0 7px 20px; gap:9px; }
  .team-logo-frame { height:88px; border-radius:11px; box-shadow:none; }
  .brand-name { font-size:15px; letter-spacing:2.8px; }
  .brand small { font-size:9px; }
  .nav-caption { font-size:11px; padding:0 12px 10px; color:#c1ac7e; }
  .app-nav nav { gap:5px; }
  .app-nav nav button { min-height:46px; padding:10px 12px; font-size:14px; gap:10px; color:#d2cec4; }
  .app-nav nav button.active { background:#c2a05d25; color:#f2deb1; border-color:#c4a36170; box-shadow:inset 3px 0 #c4a361; }
  .app-nav nav button b { font-size:12px; color:#c9c1af; }
  .nav-note { margin:20px 8px 14px; padding:16px 0 0; }
  .nav-note b { font-size:15px; line-height:1.7; }
  .nav-note p { font-size:11px; color:#c0b5a1; margin-bottom:0; }
  .motto-label { font-size:10px; margin-bottom:7px; }
  .app-nav .nav-bottom { gap:7px; padding-top:16px; }
  .nav-bottom button { font-size:12px; min-height:36px; border-radius:8px; }
  .nav-bottom>div { font-size:11px; color:#b9ae98; padding-top:8px; }
  .workspace { padding:22px 26px 18px; margin:0 auto; }
  .team-banner { padding:13px 20px; margin-bottom:14px; gap:20px; border-radius:12px; box-shadow:0 4px 18px #00000012; }
  .team-banner:before { top:14px; bottom:14px; }
  .team-banner span { font-size:10px; letter-spacing:1.3px; color:#856b36; margin-bottom:3px; }
  .team-banner strong { font-size:17px; color:#293645; }
  .team-banner p { font-size:12px; color:#706857; }
  .team-banner p b { font-size:15px; color:#785b26; }
  .workspace>header.compact-toolbar { flex-direction:row; align-items:center; margin-bottom:12px; }
  .workspace>header.compact-toolbar>.actions { gap:8px; align-items:flex-start; }
  .workspace>header .actions button { min-height:40px; font-size:13px; padding:9px 13px; }
  .quick-sync-wrap small { font-size:11px; color:#d0c6b4; }
  .primary,button.primary,.actions .primary { background:#c6a764; border-color:#c6a764; color:#211d13; font-weight:750; box-shadow:none; }
  .primary:hover,button.primary:hover,.actions .primary:hover { background:#d7b977; border-color:#d7b977; }
  .monthly-goals { gap:12px 18px; padding:12px 15px; border-radius:11px; margin-bottom:12px; }
  .monthly-goals .goal-heading label { margin:0; }
  .monthly-goals .goal-heading input { margin-top:0; min-height:32px; width:122px; font-size:12px; }
  .monthly-goals .goal-kicker { font-size:10px; color:#7e632e; }
  .monthly-goals .goal-heading em { font-size:11px; color:#785824; }
  .monthly-goals .goal-pledge { color:#625947; font-size:13px; max-width:230px; }
  .monthly-goals .goal-metrics { gap:20px; }
  .monthly-goals .goal-metrics span { font-size:12px; color:#68675e; }
  .monthly-goals .goal-metrics strong { font-size:16px; line-height:1.4; color:#283443; }
  .monthly-goals .goal-metrics small { font-size:12px; color:#6c7280; }
  .monthly-goals .goal-edit { font-size:12px; min-height:36px; }
  .monthly-goals .goal-incentive { font-size:12px; color:#5f5d52; padding-top:9px; }
  .monthly-goals .goal-incentive>span { color:#7c602b; }
  .stats { gap:10px; margin-bottom:12px; }
  .stats .stat { min-height:63px; padding:11px 15px; border-radius:11px; }
  .stats .stat span { font-size:12px; line-height:1.4; color:#596779; margin-bottom:3px; }
  .stats .stat strong { font-size:25px; line-height:1.2; }
  .filterbar { gap:8px; margin-bottom:12px; }
  .filterbar .search { min-height:42px; border-radius:9px; }
  .filterbar .search input,.filterbar select { font-size:13px; color:#394b60; }
  .filterbar select { min-height:42px; padding:9px 10px; }
  .filterbar .light-btn { min-height:42px; font-size:12px; color:#4d5b6d; }
  .filterbar .target-month { font-size:12px; margin:0; }
  .filterbar .target-month input { margin:0 0 0 6px; min-height:40px; font-size:13px; }
  .table-panel { border-radius:12px; }
  .table-heading { min-height:58px; padding:14px 18px; gap:12px; }
  .table-heading b { font-size:16px; }
  .table-heading .table-help { font-size:12px; color:#64748b; }
  .table-heading>div>span { color:#7c612d; }
  .table-tools button,.table-tools #clearExisting,.table-tools #clearPotential,.table-tools #undoClearExisting,.table-tools #undoClearPotential { font-size:12px; min-height:34px; }
  .table-tools #clearExisting,.table-tools #clearPotential { color:#a0443d; }
  #tableView .table-scroll { min-height:280px; max-height:clamp(340px,61vh,740px); }
  #customerTable thead { position:sticky; top:0; z-index:3; }
  #customerTable th { font-size:12px; color:#56677d; padding:12px 14px; height:44px; background:#f4f6f9; }
  #customerTable td { font-size:13px; color:#46576b; padding:13px 14px; height:60px; line-height:1.6; }
  #customerTable td.memo { color:#64748b; font-size:13px; }
  #customerTable td.num { font-size:12px; color:#68778a; }
  #customerTable .name-link { font-size:15px; color:#263b57; }
  #customerTable .mini-btn { min-height:34px; font-size:12px; color:#526784; }
  #customerTable .row-delete { color:#a0443d; }
  #customerTable .badge,#customerTable .status-label,#customerTable .muted { font-size:12px; }
  #customerTable .badge-neutral,#customerTable .muted { color:#64748b; }
  .table-foot { color:#64748b; font-size:12px; padding:12px 16px; }
  .pagination button { font-size:12px; min-height:34px; }
  .table-panel .empty { padding:36px 20px; color:#64748b; }
  .table-panel .empty h3 { font-size:17px; color:#35455a; }
  .target-board-intro { margin-bottom:12px; }
  .target-board-intro>div>b { font-size:18px; }
  .target-board-intro>div>span,#targetView .target-help { font-size:12px; color:#cec4b2; }
  #targetBoard .target-table-section { border-radius:12px; }
  #targetBoard .target-unified-heading { padding:14px 18px; }
  #targetBoard .target-stage-filters button { color:#55657b; font-size:13px; min-height:38px; }
  #targetBoard .target-stage-filters button span { color:#66778d; font-size:12px; }
  #targetBoard .target-stage-filters button[aria-pressed="true"] { color:#75571f; background:#f8edcf; border-color:#d8bd80; }
  #targetBoard .target-stage-filters button[aria-pressed="true"] span { color:#75571f; }
  #targetBoard .target-list-table th { color:#52657e; background:#f4f6fa; padding:12px 14px; }
  #targetBoard .target-list-table td { padding:13px 14px; height:66px; }
  #targetBoard .target-list-table td.target-cell-num { color:#68778c; font-size:12px; }
  #targetBoard .target-list-table .target-task { color:#50627a; }
  #targetBoard .target-list-table .target-date { color:#4c627e; font-size:13px; }
  #targetBoard .target-list-table .target-date.missing,.target-delivery-pending { color:#64748b; }
  .target-table-memo { color:#64748b; font-size:13px; }
  .target-schedule-place { color:#64748b; font-size:12px; }
  .target-table-status { color:#55667c; font-size:12px; }
  .target-stage-badge { font-size:12px; }
  .target-stage-badge[data-badge-stage="A"] { color:#485897; }
  .target-stage-badge[data-badge-stage="AP"] { color:#806119; }
  .target-stage-badge[data-badge-stage="OP"] { color:#3c6692; }
  .target-stage-badge[data-badge-stage="PC"] { color:#74518f; }
  .target-stage-badge[data-badge-stage="PD"] { color:#3d715a; }
  .target-progress .target-calendar { font-size:11px; color:#61718a; }
  #targetBoard .target-table-actions button { font-size:12px; min-height:36px; padding:7px 8px; color:#4c627e; }
  #targetBoard .target-table-actions .next-stage { color:#785819; }
  #targetBoard .target-table-actions .target-call { color:#42618d; }
  #targetBoard .target-table-actions .target-delete { color:#a04a40; }
  #targetBoard .target-list-table .target-table-empty { color:#64748b; font-size:13px; height:90px; }
  .target-unified .target-col-actions { width:295px; }
  #targetBoard .target-table-heading .stage-add-customer { color:#785b25; font-size:13px; min-height:38px; }
  #mapView .list-item h3 { font-size:15px; color:#293e59; }
  #mapView .list-item p,#mapView .list-item small { color:#61718a; font-size:12px; }
  #mapView .map-tools button { font-size:12px; min-height:38px; }
  #mapView .map-badge,#mapView .legend { font-size:12px; }
  #mapView .listhead { color:#52647c; font-size:13px; }
  #sitplanView .sit-head { margin-bottom:12px; }
  #sitplanView .sit-head h2 { font-size:22px; }
  #sitplanView .sit-head p,#sitplanView .sit-help { color:#cec6b8; font-size:13px; }
  #sitplanView .sit-tools label { font-size:12px; margin:0; }
  #sitplanView .sit-tools input { font-size:13px; margin-top:0; min-height:38px; }
  #sitplanView .sit-tools button { font-size:13px; min-height:38px; }
  #sitplanView .sit-grid th { padding:12px 8px; }
  #sitplanView .sit-grid th small { font-size:12px; color:#6c6453; }
  #sitplanView .sit-grid td>button { min-height:122px; padding:12px; font-size:13px; }
  #sitplanView .sit-grid .sit-empty { font-size:12px; color:#767064; }
  :is(#editor,#record,#targetEditor,#targetPicker,#settings,#importer,#syncDialog,.goal-dialog,.sit-dialog) { border-radius:14px; }
  :is(#editor,#record,#targetEditor,#targetPicker,#settings,#importer,#syncDialog,.goal-dialog,.sit-dialog) :is(.help,p) { color:#64748b; font-size:13px; }
  :is(#editor,#record,#targetEditor,#targetPicker,#settings,#importer,#syncDialog,.goal-dialog,.sit-dialog) label { font-size:13px; color:#43566f; }
  :is(#editor,#targetEditor,#targetPicker,#settings,#importer,#syncDialog,.goal-dialog,.sit-dialog) :is(input,select,textarea) { font-size:14px; color:#304158; border-color:#cfd7e2; }
  .record-grid span,.record-address>span,.record-notes>span { color:#64748b; font-size:12px; }
  .record-grid b { color:#344d6c; font-size:14px; }
  .record-notes p { color:#556b87; font-size:14px; }
  .record-actions button,.record-actions a,.dialog-foot button { font-size:13px; min-height:40px; }
  #targetHistory,#targetHistory p { font-size:12px; color:#64748b; }
  footer { font-size:11px; color:#c0b7a5; }
}
@media screen and (max-width:1200px) and (min-width:901px) {
  .app-shell { grid-template-columns:208px minmax(0,1fr); }
  .workspace { padding:20px; }
  .app-nav { padding:18px 12px; }
  .app-nav nav button { font-size:13px; }
  .monthly-goals .goal-pledge { max-width:none; }
}
@media screen and (max-width:900px) {
  .app-shell { display:block; }
  .app-nav { padding:14px 18px; overflow:visible; }
  .brand { flex-direction:row; padding:0 0 12px; gap:12px; }
  .team-logo-frame { width:84px; height:46px; border-radius:8px; }
  .app-nav nav button { min-height:44px; font-size:13px; padding:9px 12px; }
  .app-nav nav button b { font-size:11px; }
  .app-nav .nav-bottom { gap:12px; padding-top:10px; flex-wrap:wrap; }
  .nav-bottom button { font-size:11px; min-height:28px; }
  .workspace { padding:16px 18px; }
  .team-banner { padding:12px 16px; }
  .team-banner strong { font-size:16px; }
}
@media screen and (max-width:650px) {
  .workspace { padding:14px 12px 18px; }
  .app-nav { padding:12px; }
  .brand-name { font-size:14px; }
  .app-nav nav button { font-size:12px; padding:9px 10px; }
  .app-nav .nav-bottom { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
  .app-nav .nav-bottom button { min-width:0; min-height:38px; white-space:normal; padding:7px 9px; }
  .app-nav .nav-bottom .sync-open { display:flex; flex-direction:column; align-items:center; justify-content:center; }
  .app-nav .nav-bottom .sync-open b { font-size:11px; }
  .app-nav .nav-bottom .sync-open small { font-size:10px; }
  .team-banner { padding:12px 15px; gap:6px; margin-bottom:12px; }
  .team-banner span { font-size:9px; }
  .team-banner strong { font-size:15px; }
  .team-banner p { font-size:11px; }
  .team-banner p b { font-size:13px; }
  .workspace>header .actions button { font-size:12px; min-height:42px; padding:9px; }
  .workspace>header.compact-toolbar>.actions { flex-wrap:wrap; }
  .workspace>header .quick-sync-wrap { flex:1 1 100%; min-width:0; }
  .workspace>header .actions>button { white-space:nowrap; min-width:115px; }
  .workspace>header .quick-sync-wrap small { white-space:normal; font-size:10px; }
  .monthly-goals { gap:9px; padding:10px 12px; }
  .monthly-goals .goal-heading input { width:119px; font-size:12px; }
  .monthly-goals .goal-pledge { max-width:none; font-size:12px; white-space:normal; }
  .monthly-goals .goal-metrics { gap:9px; }
  .monthly-goals .goal-metrics span { font-size:11px; }
  .monthly-goals .goal-metrics strong { font-size:15px; }
  .monthly-goals .goal-incentive { font-size:12px; }
  .stats .stat { min-height:59px; padding:10px 12px; }
  .stats .stat span { font-size:12px; }
  .stats .stat strong { font-size:23px; }
  .filterbar .search input,.filterbar select { font-size:16px; }
  .filterbar select { min-width:140px; }
  .table-heading { padding:13px 14px; }
  .table-foot { font-size:12px; flex-wrap:wrap; }
  #tableView .table-scroll { max-height:none; min-height:0; }
  #customerTable thead { display:none; }
  #customerTable td { font-size:13px; height:auto; padding:8px 0; }
  #customerTable td:before { font-size:12px; color:#65748a; }
  #customerTable td.memo { font-size:13px; }
  #customerTable td.name-cell { padding-top:4px; padding-bottom:10px; }
  #customerTable .name-link { font-size:16px; }
  #customerTable .mini-btn { min-height:40px; font-size:12px; }
  #targetBoard .target-unified-heading { padding:12px; }
  #targetBoard .target-stage-filters button { font-size:12px; min-height:40px; }
  #targetBoard .target-list-table th { font-size:12px; }
  #targetBoard .target-table-actions button { min-height:40px; }
  #mapView .map-badge { font-size:11px; }
  #sitplanView .sit-head { align-items:flex-start; }
  #sitplanView .sit-head h2 { font-size:21px; }
  #sitplanView .sit-tools { width:100%; gap:7px; }
  #sitplanView .sit-tools label { margin-left:auto; }
  #sitplanView .sit-tools input { font-size:16px; max-width:170px; }
  #sitplanView .sit-grid td>button { min-height:116px; }
  :is(#editor,#targetEditor,#targetPicker,#settings,#importer,#syncDialog,.goal-dialog,.sit-dialog) :is(input,select,textarea) { font-size:16px; }
  .record-actions button,.record-actions a,.dialog-foot button { min-height:44px; }
}
@media screen and (prefers-reduced-motion:reduce) {
  button,a,input,select,textarea { transition:none!important; }
}
