/* app.css – ライトテーマ統一 */
:root{--bg:#f4f6f8;--card:#fff;--navy:#1a2b4a;--teal:#007b80;--teal-d:#005f65;--hdr:#1a3a5c;--bdr:#d0d8e4;--muted:#5a6a7a;--red:#c0392b}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Hiragino Sans',sans-serif!important;background:var(--bg)!important;color:var(--navy)!important;padding-top:48px}
.demo-notice{position:fixed!important;top:0;left:0;right:0;z-index:1000;background:#7c5200!important;color:#fff3cd!important;font-size:.75rem!important;text-align:center!important;padding:8px 12px!important;border-radius:0!important;margin:0!important}
header,#app-header{background:var(--hdr)!important;border-bottom:2px solid var(--teal)!important;padding:12px 20px!important;color:#fff!important}
.proposal-note{color:#a8c8e0!important}
.demo-nav{display:flex!important;gap:4px;flex-wrap:wrap;margin-top:8px!important;background:transparent!important;border:none!important;padding:0!important}
.demo-nav a{color:#b0d0e8!important;font-size:.85rem!important;text-decoration:none!important;padding:6px 12px!important;border-radius:4px!important;border:1px solid rgba(255,255,255,.2)!important;min-height:44px!important;display:inline-flex!important;align-items:center!important}
.demo-nav a:hover{background:rgba(255,255,255,.15)!important;color:#fff!important}
.demo-nav a[aria-current="page"]{background:var(--teal)!important;color:#fff!important;border-color:var(--teal)!important}
.demo-page-title{font-size:1.1rem!important;color:#e0f0f8!important;margin-top:8px!important;padding:0!important}
.demo-today{font-size:.75rem!important;color:#7ab0cc!important;padding:2px 0 0!important}
main{max-width:960px!important;margin:24px auto!important;padding:0 16px!important}
.card,.form-card,.req-card,.site-card,.report-card,.progress-form{background:var(--card)!important;border:1px solid var(--bdr)!important;color:var(--navy)!important}
.card-name,.site-name,.rsite{color:var(--teal-d)!important}
.meta,.site-meta,.site-next,.rmeta,.deadline,.rtype,.req-due,.req-body{color:var(--muted)!important}
.rbody,.report-body{color:var(--navy)!important;line-height:1.6}
.b-progress,.b-p{background:#e0f2f1!important;color:#00695c!important;border:1px solid #80cbc4!important}
.b-pending{background:#fff3e0!important;color:#e65100!important;border:1px solid #ffb74d!important}
.b-done,.b-c{background:#e8f5e9!important;color:#2e7d32!important;border:1px solid #a5d6a7!important}
.progress-bar,.prog-bar,.tpct-bar,.progress-bar-wrap{background:#e0e0e0!important}
.progress-bar-wrap .progress-bar,.progress-fill,.prog-fill,.tpct-fill{background:var(--teal)!important}
.progress-fill.done,.prog-fill.done,.tpct-fill.done{background:#43a047!important}
.progress-pct,.prog-pct{color:var(--muted)!important}
label{color:var(--navy)!important}
.report-site,.report-meta{color:var(--muted)!important}
.req-item{background:#fff!important;border:1px solid var(--bdr)!important;color:var(--navy)!important}
.req-type,.link-row a{color:var(--teal-d)!important}
input,select,textarea{background:#fff!important;color:var(--navy)!important;border:1px solid var(--bdr)!important;min-height:44px!important}
input::placeholder,textarea::placeholder{color:#9aabb8!important}
input:focus,select:focus,textarea:focus{border-color:var(--teal)!important;box-shadow:0 0 0 2px rgba(0,123,128,.2)!important;outline:none!important}
button{min-height:44px}
.bsm{min-height:44px!important}
.detail-btn,.btn-p,.btn-save,.btn-primary{background:var(--teal)!important;color:#fff!important;border:none!important;min-height:44px}
.detail-btn:hover,.btn-p:hover,.btn-save:hover:not(:disabled),.btn-primary:hover{background:var(--teal-d)!important}
.btn-c,.btn-cancel,.btn-secondary,.btn-clear,.btn-toggle,.btn-reset{background:#fff!important;color:var(--navy)!important;border:1px solid var(--bdr)!important}
.btn-c:hover,.btn-cancel:hover,.btn-clear:hover,.btn-toggle:hover,.btn-reset:hover{background:var(--bg)!important}
.bsm-ok{background:#e8f5e9!important;color:#2e7d32!important;border:1px solid #a5d6a7!important}
.bsm-rv{background:#fff3e0!important;color:#e65100!important;border:1px solid #ffb74d!important}
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%}
table,.site-table{background:var(--card)!important;color:var(--navy)!important}
th,.site-table th{background:#f0f4f8!important;color:var(--navy)!important;border-color:var(--bdr)!important}
td,.site-table td{border-color:var(--bdr)!important;color:var(--navy)!important}
.site-table tr:hover td{background:#f8fafc!important}
.site-table a{color:var(--teal-d)!important}
.site-table .tpct-wrap span{color:var(--navy)!important}
.overdue{color:var(--red)!important;font-weight:600}
.detail-meta dl,.finance-card{background:#f8fafc!important;border:1px solid var(--bdr)!important}
.detail-meta dt,.finance-card dt{color:var(--muted)!important}
.detail-meta dd,.finance-card dd{color:var(--navy)!important}
.finance-card dd.neg{color:var(--red)!important}
.section-title{border-color:var(--teal)!important;color:var(--navy)!important}
.sec-title{color:var(--teal-d)!important;border-color:var(--bdr)!important}
.save-ok{color:var(--teal)!important}
.err-msg{color:var(--red)!important}
.msg-ok{background:#e8f5e9!important;color:#2e7d32!important;border-color:#a5d6a7!important}
.msg-err{background:#fce8e8!important;color:var(--red)!important;border-color:#e8a0a0!important}
.msg.ok{background:#e8f5e9!important;color:#2e7d32!important;border-color:#a5d6a7!important}
.msg.err{background:#fce8e8!important;color:var(--red)!important;border-color:#e8a0a0!important}
.sub-nav a{background:#f0f4f8!important;color:var(--teal-d)!important;border:1px solid var(--bdr)!important}
.sub-nav a:hover{background:#e0eaf4!important}
.history-list{border-color:var(--bdr)!important}
.history-list li{color:var(--navy)!important}
.h-date{color:var(--muted)!important}
.empty{color:var(--muted)!important}
.stat{background:var(--card)!important;border:1px solid var(--bdr)!important}
.stat-num{color:var(--teal)!important}
.stat.warn .stat-num{color:#e65100!important}
.stat-label{color:var(--muted)!important}
.doc-box{background:#f8fafc!important;border-color:var(--bdr)!important;color:var(--muted)!important}
.step{border-color:var(--bdr)!important}
.step-img{background:#f0f4f8!important;color:var(--muted)!important}
.step-label{color:var(--muted)!important}
h2{color:var(--teal-d)!important}
.filter-bar select,.filter-row select{background:#fff!important;color:var(--navy)!important;border-color:var(--bdr)!important}
.tabs{border-color:var(--bdr)!important}
.tab{background:#f0f4f8!important;color:var(--navy)!important;min-height:44px!important;border:none!important}
.tab.on{background:var(--teal)!important;color:#fff!important}
.char-count,.cc{color:var(--muted)!important}
.char-count.over,.cc.warn{color:var(--red)!important}
@media(max-width:390px){
  main{padding:0 10px!important}
  .tbl-wrap{overflow-x:auto;width:100%}
  table{min-width:max-content}
  body{padding-top:44px}
}
