/* UI v3: yellow, black, white and neutral gray only. */
:root {
  --ui-yellow:#F5A623; --ui-black:#1A1A1A; --ui-white:#FFFFFF;
  --ui-gray-50:#F7F7F7; --ui-gray-100:#EEEEEE; --ui-gray-300:#D4D4D4; --ui-gray-600:#666666;
  --ui-bg:var(--ui-white); --ui-surface:var(--ui-white); --ui-surface-subtle:var(--ui-gray-50);
  --ui-text:var(--ui-black); --ui-text-muted:var(--ui-gray-600); --ui-border:var(--ui-gray-300);
  --ui-brand:var(--ui-yellow); --ui-brand-soft:var(--ui-yellow); --ui-brand-strong:var(--ui-black);
  --ui-action:var(--ui-yellow); --ui-action-hover:var(--ui-yellow); --ui-focus:var(--ui-black);
  --ui-danger:var(--ui-black); --ui-success:var(--ui-black); --ui-info:var(--ui-black);
  --ui-radius:10px; --ui-shadow:0 2px 10px rgba(0,0,0,.07);
  --primary:var(--ui-yellow); --primary-h:var(--ui-yellow); --dark:var(--ui-black);
  --yellow:var(--ui-yellow); --black:var(--ui-black); --y:var(--ui-yellow); --b:var(--ui-black);
  --bs-body-bg:var(--ui-white); --bs-body-color:var(--ui-black); --bs-border-color:var(--ui-gray-300);
  --bs-primary-rgb:245,166,35;
}
html{color-scheme:light;background:var(--ui-white)}
body{background:var(--ui-white)!important;color:var(--ui-black)!important;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Yu Gothic UI",sans-serif!important;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6{color:var(--ui-black)!important;font-weight:700!important;letter-spacing:.01em}
.text-muted,.hint,small,.muted{color:var(--ui-gray-600)!important}a{color:var(--ui-black)!important;text-decoration-color:var(--ui-yellow)!important;text-underline-offset:3px}
.text-danger,.text-success,.text-info,.text-warning{color:var(--ui-black)!important}.bg-success,.bg-danger,.bg-info,.bg-secondary{background:var(--ui-gray-100)!important;color:var(--ui-black)!important}

.sidebar{background:var(--ui-white)!important;border-right:3px solid var(--ui-yellow)!important;box-shadow:2px 0 10px rgba(0,0,0,.06)!important}
.sidebar-brand{background:var(--ui-yellow)!important;color:var(--ui-black)!important;border-bottom:2px solid var(--ui-black)!important;border-left:0!important;font-weight:800!important}.sidebar-brand small{color:var(--ui-black)!important}
.sidebar-nav .nav-link,.sidebar-collapse-btn,.nav-sub{color:var(--ui-black)!important;border:1px solid transparent!important;border-radius:8px!important;min-height:44px;display:flex!important;align-items:center;font-weight:700!important}
.sidebar-nav .nav-link:hover,.sidebar-collapse-btn:hover,.nav-sub:hover{background:var(--ui-gray-100)!important;border-color:var(--ui-gray-300)!important}
.sidebar-nav .nav-link.active,.sidebar-collapse-btn[aria-expanded="true"],.nav-sub.active{background:var(--ui-yellow)!important;color:var(--ui-black)!important;border:2px solid var(--ui-black)!important;box-shadow:none!important}
.sidebar-section,.sidebar-footer{color:var(--ui-gray-600)!important;border-color:var(--ui-gray-300)!important}

.card,.summary-card,.stat-card,.order-card,.app-card{background:var(--ui-white)!important;border:1px solid var(--ui-gray-300)!important;border-radius:var(--ui-radius)!important;box-shadow:var(--ui-shadow)!important}
.card-header,.card-header-dark,.modal-header,.m-card-header{background:var(--ui-gray-100)!important;color:var(--ui-black)!important;border:1px solid var(--ui-gray-300)!important;border-radius:10px 10px 0 0!important;padding:.7rem 1rem!important;box-shadow:none!important;font-weight:700!important}
.card>.card-header{border-width:0 0 1px!important}
.card-header.active,.card-header[aria-selected="true"]{background:var(--ui-yellow)!important;border-color:var(--ui-black)!important}
.modal-header .btn-close,.modal-header .btn-close-white{filter:none!important;opacity:.75}
.modal-header .btn-close:hover,.modal-header .btn-close:focus{opacity:1}
.nav-tabs{gap:6px;border-bottom:1px solid var(--ui-gray-300)!important;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px}
.nav-tabs::-webkit-scrollbar{display:none}
.nav-tabs .nav-link,.nav-pills .nav-link,.scope-tab,.btn-filter{background:var(--ui-gray-100)!important;color:var(--ui-black)!important;border:1px solid var(--ui-gray-300)!important;border-radius:9px!important;min-height:44px;font-size:14px!important;font-weight:700!important;white-space:nowrap}
.nav-tabs .nav-link:hover,.nav-pills .nav-link:hover,.scope-tab:hover,.btn-filter:hover{background:var(--ui-gray-50)!important;color:var(--ui-black)!important;border-color:var(--ui-gray-300)!important}
.nav-tabs .nav-link.active,.nav-pills .nav-link.active,.scope-tab.active,.btn-filter.active,[role="tab"][aria-selected="true"]{background:var(--ui-yellow)!important;color:var(--ui-black)!important;border:1px solid var(--ui-black)!important;box-shadow:inset 0 -3px 0 var(--ui-black)!important}
.topbar,.top{background:rgba(255,255,255,.97)!important;color:var(--ui-black)!important;border-color:var(--ui-gray-300)!important;box-shadow:0 2px 10px rgba(0,0,0,.06);backdrop-filter:blur(10px)}
.page-content{background:var(--ui-white)!important}

.btn-navy,.btn-primary,.btn-login,.ai-research-btn,.btn-cal{background:var(--ui-yellow)!important;color:var(--ui-black)!important;border:2px solid var(--ui-black)!important;border-radius:8px!important;font-weight:800!important;min-height:44px;box-shadow:none!important}
.btn-navy:hover,.btn-primary:hover,.btn-login:hover,.ai-research-btn:hover,.btn-cal:hover{background:var(--ui-yellow)!important;color:var(--ui-black)!important;filter:brightness(.94);transform:none!important}
.btn-secondary,.btn-dark2,.btn-outline-secondary,.btn-light,.btn-outline-dark{background:var(--ui-gray-100)!important;color:var(--ui-black)!important;border:1px solid var(--ui-gray-300)!important;border-radius:8px!important}
.btn-secondary:hover,.btn-dark2:hover,.btn-outline-secondary:hover,.btn-light:hover,.btn-outline-dark:hover{background:var(--ui-gray-300)!important;color:var(--ui-black)!important;border-color:var(--ui-black)!important}
.btn-danger,.btn-outline-danger{background:var(--ui-black)!important;color:var(--ui-white)!important;border:2px solid var(--ui-black)!important;border-radius:8px!important}
.btn,.form-control,.form-select,input,select,textarea{min-height:44px}
.form-control,.form-select,input,select,textarea{border-color:var(--ui-gray-300)!important;border-radius:8px!important;color:var(--ui-black)!important;background-color:var(--ui-white)!important;font-size:16px}
.form-control:focus,.form-select:focus,input:focus,select:focus,textarea:focus{border-color:var(--ui-black)!important;box-shadow:0 0 0 3px var(--ui-yellow)!important}
:focus-visible{outline:3px solid var(--ui-black)!important;outline-offset:3px;box-shadow:0 0 0 6px var(--ui-yellow)!important}:disabled,.disabled{opacity:.55!important;cursor:not-allowed!important}

.table{--bs-table-bg:var(--ui-white);--bs-table-color:var(--ui-black);--bs-table-border-color:var(--ui-gray-300)}
.table thead th,.preview-table th,.ranking-table th,.mon-table th{background:var(--ui-gray-100)!important;color:var(--ui-black)!important;border-color:var(--ui-gray-300)!important;font-weight:700!important}
.alert{background:var(--ui-white)!important;color:var(--ui-black)!important;border:1px solid var(--ui-black)!important;border-left-width:6px!important}.alert-warning,.lockout{background:var(--ui-yellow)!important;color:var(--ui-black)!important}.alert-success{border-left-color:var(--ui-yellow)!important}.alert-danger,.alert-error{border-width:2px!important;border-left-width:8px!important}

/* Statuses differ by fill, border weight and text—not extra colors. */
.badge,[class*="badge-"],[class*="status-"],.class-C2,.class-C3,.class-C4,.kouji-pill,.mock-banner,.mock-badge,.upgrade-badge{background-image:none!important;text-shadow:none!important;color:var(--ui-black)!important;border:1px solid var(--ui-black)!important}
.badge{background:var(--ui-white)!important;font-weight:700!important;letter-spacing:.01em}
.status-new,.sb-新規顧客,.badge-新規{background:var(--ui-white)!important;color:var(--ui-black)!important;border:2px solid var(--ui-black)!important}
.status-confirmed,.status-draft,.sb-対応中,.sb-施工日決定,.badge-現調済,.badge-申請中{background:var(--ui-yellow)!important;color:var(--ui-black)!important;border:2px solid var(--ui-black)!important}
.status-done,.status-synced,.sb-施工完了{background:var(--ui-gray-100)!important;color:var(--ui-black)!important;border:1px solid var(--ui-black)!important}
.sb-未対応,.badge-写真不足,.urgent,.class-C4{background:var(--ui-black)!important;color:var(--ui-white)!important;border:2px solid var(--ui-black)!important}
.class-C2{background:var(--ui-white)!important}.class-C3{background:var(--ui-gray-100)!important;border-width:2px!important}.class-C4{border-bottom:3px solid var(--ui-yellow)!important}
.sb-未対応::before{content:"! ";font-weight:900}.sb-新規顧客::before{content:"+ ";font-weight:900}.sb-対応中::before{content:"● ";font-weight:900}.sb-施工日決定::before{content:"◆ ";font-weight:900}.sb-施工完了::before{content:"✓ ";font-weight:900}
.order-block.s-新規顧客,.order-block.s-対応中,.order-block.s-施工日決定{border-left-color:var(--ui-yellow)!important}.order-block.s-施工完了{border-left-color:var(--ui-gray-600)!important}.order-block.s-未対応{border-left-color:var(--ui-black)!important}.order-block.selected{outline:3px solid var(--ui-black)!important;outline-offset:2px;box-shadow:0 0 0 6px var(--ui-yellow)!important}
.profit-positive,.profit-negative,.pp-value.positive,.pp-value.negative,.calc-val,.stock-ok,.stock-ng,.diff-primary{color:var(--ui-black)!important}
.priority-dot,.p-0,.p-20,.p-40,.p-60,.p-80,.p-100{background:var(--ui-yellow)!important;border:1px solid var(--ui-black)!important}
.stat-chip,.section-badge,.badge-scope-company,.badge-scope-product,.badge-yahoo-ng,.badge-rights-ok,.badge-rights-ng,.badge-source,.rank-badge,.status-loading,.status-error{background:var(--ui-white)!important;color:var(--ui-black)!important;border:1px solid var(--ui-black)!important;background-image:none!important}.stat-chip.photo-ng,.stat-chip.pending,.status-loading{background:var(--ui-yellow)!important}.status-done{background:var(--ui-gray-100)!important}
.ef label,.kpi-num.alert-red,.kpi-label,.market-fresh,.proj-card-amount{color:var(--ui-black)!important}.kpi-divider{background:var(--ui-yellow)!important}.photo-slot.done,.photo-slot-m.done{background:var(--ui-yellow)!important;border-color:var(--ui-black)!important}.photo-slot.missing,.photo-slot-m.missing{background:var(--ui-gray-100)!important;border-color:var(--ui-black)!important}.col-inquiry .col-header,.col-survey .col-header,.col-quoting .col-header,.col-quoted .col-header,.col-scheduled .col-header,.col-done .col-header,.col-invoiced .col-header,.col-paid .col-header{background:var(--ui-gray-100)!important;color:var(--ui-black)!important;border-bottom:3px solid var(--ui-yellow)!important}

.mobile-menu-btn{background:var(--ui-yellow)!important;color:var(--ui-black)!important;border:2px solid var(--ui-black)!important;box-shadow:0 5px 14px rgba(0,0,0,.15)!important}.sidebar-backdrop{background:rgba(0,0,0,.45)!important;backdrop-filter:blur(2px)}
.bottom{background:rgba(255,255,255,.98)!important;border-top:3px solid var(--ui-yellow)!important;padding-bottom:calc(8px + env(safe-area-inset-bottom))!important;box-shadow:0 -4px 14px rgba(0,0,0,.07)}
.stage{gap:8px!important;overflow-x:auto;padding-bottom:4px}.stage span{background:var(--ui-gray-100)!important;color:var(--ui-black)!important;border:1px solid var(--ui-gray-300)!important;border-radius:999px!important;min-width:72px;min-height:44px;padding:8px 12px!important;font-size:14px!important;font-weight:700!important;white-space:nowrap}.stage .on{background:var(--ui-yellow)!important;color:var(--ui-black)!important;border:1px solid var(--ui-black)!important;font-weight:800!important;box-shadow:inset 0 -3px 0 var(--ui-black)!important}
.login-container{background:var(--ui-white)!important;border:2px solid var(--ui-black)!important;box-shadow:var(--ui-shadow)!important}.logo-icon{background:var(--ui-yellow)!important;border:2px solid var(--ui-black)!important;color:var(--ui-black)!important}.security-note{color:var(--ui-gray-600)!important}
.actions{border-color:var(--ui-gray-300)!important;box-shadow:0 2px 10px rgba(0,0,0,.06)}.actions button{background:var(--ui-yellow)!important;color:var(--ui-black)!important;border:2px solid var(--ui-black)!important;border-radius:8px;padding:10px 14px;min-height:44px}.warn{background:var(--ui-yellow)!important;color:var(--ui-black)!important;border:2px solid var(--ui-black)!important;border-radius:8px}
.btn-dark2,.btn-light,.btn-detail,.photo-thumb{background:var(--ui-gray-100)!important;color:var(--ui-black)!important;border:1px solid var(--ui-gray-300)!important;border-radius:9px!important}.btn-detail:hover{background:var(--ui-gray-50)!important;color:var(--ui-black)!important}.photo-thumb{display:block;text-decoration:none!important;overflow:hidden}.photo-thumb img{width:100%;height:130px;object-fit:cover;display:block}.photo-thumb span{display:block;padding:7px 9px;font-weight:700}
.step-num,.workflow-badge,.count-pill,.future-badge,.rank-num,.src-kakaku,.copy-toast,.search-clear,.save-btn.is-saved{background:var(--ui-gray-100)!important;color:var(--ui-black)!important;border:1px solid var(--ui-gray-300)!important;text-shadow:none!important}
.profit-preview,.reason-banner,.price-summary{background:var(--ui-gray-100)!important;color:var(--ui-black)!important;border:1px solid var(--ui-gray-300)!important;box-shadow:none!important}.profit-preview .pp-label{color:var(--ui-gray-600)!important}.profit-preview .pp-value{color:var(--ui-black)!important}
.dot.on{background:var(--ui-yellow)!important;border:1px solid var(--ui-black)!important;box-shadow:none!important}.dot.off{background:var(--ui-gray-300)!important;border:1px solid var(--ui-black)!important}.google-connect-status{background:var(--ui-gray-100)!important;color:var(--ui-black)!important;border:1px solid var(--ui-gray-300)!important;border-radius:8px!important;padding:10px 12px!important}
#save-all-btn,.btn-sort-warn,.kouji-pill.urgent,.mock-banner,.mock-badge,.upgrade-badge{background-image:none!important;background:var(--ui-yellow)!important;color:var(--ui-black)!important;border:2px solid var(--ui-black)!important;text-shadow:none!important}
[style*="repeating-linear-gradient"]{background-image:none!important;background-color:var(--ui-yellow)!important;color:var(--ui-black)!important;text-shadow:none!important}

@media(max-width:768px){body{font-size:16px;padding-bottom:calc(72px + env(safe-area-inset-bottom));overflow-x:hidden}.sidebar{width:min(88vw,280px)!important;height:100dvh!important}.mobile-menu-btn{right:16px!important;bottom:calc(16px + env(safe-area-inset-bottom))!important;width:52px;height:52px}.main,.main-content{max-width:100%!important;overflow-x:hidden}.card{margin-left:0!important;margin-right:0!important}.btn-sm{min-height:44px;padding:.55rem .75rem}.table-responsive,.table-wrap{max-width:100%;-webkit-overflow-scrolling:touch}.login-container{margin:16px;padding:32px 24px!important}.material{grid-template-columns:1fr!important}.material .confirm{grid-column:1!important;min-height:44px;display:flex;align-items:center}.stage{grid-template-columns:repeat(5,minmax(72px,1fr))!important}.ig-label,.ef label{font-size:12px!important}.ig-val{font-size:14px!important}.file-del{min-width:44px;min-height:44px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
@media print{body{background:#fff!important;color:#111!important;padding:0!important}.sidebar,.mobile-menu-btn,.sidebar-backdrop{display:none!important}.card{box-shadow:none!important}}
