:root{--ink:#253932;--muted:#6b7b73;--green:#326b55;--pale:#edf4ee;--line:#e1e9e2;--bg:#f6f8f4;--shadow:0 10px 30px rgba(30,61,44,.06)}
*,*:before,*:after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg)!important;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif;line-height:1.65}
main{width:100%;max-width:1120px!important;margin-left:auto!important;margin-right:auto!important;padding:72px 18px 110px!important}
h1{font-size:clamp(23px,3vw,31px);letter-spacing:.02em;line-height:1.35;margin:0 0 20px}h2{font-size:18px;line-height:1.5;margin:0 0 14px}p{line-height:1.75}
a{color:var(--green)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8ebca2;outline-offset:2px}
.card,.stat,.search,.item,.empty,.property-box{border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px!important}
.card,.item{padding:22px!important}.property-box{background:#f7faf7!important;box-shadow:none}
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea{max-width:100%;min-height:44px;border:1px solid #cbd9cf;border-radius:10px;background:#fff;color:var(--ink);font:inherit;padding:10px 12px}
textarea{min-height:104px}input[type="checkbox"],input[type="radio"]{accent-color:var(--green)}
button,.button,input[type="submit"]{cursor:pointer;font:inherit;border-radius:10px}button:not(.delete):not(.restore),.button,input[type="submit"]{background:var(--green);color:white;border:1px solid var(--green);padding:10px 16px;text-decoration:none}
.actions a,.menu a{border:1px solid var(--line);box-shadow:var(--shadow);border-radius:15px!important;background:#fff!important;color:var(--ink)!important;transition:transform .15s,border-color .15s,box-shadow .15s}
.actions a:hover,.menu a:hover{transform:translateY(-2px);border-color:#a9c6b2;box-shadow:0 14px 30px rgba(30,61,44,.11)}
.actions a.trash-link{background:#fffaf0!important;color:#805723!important}
.badge{background:var(--pale)!important;color:var(--green);font-weight:600}
.quick a{background:var(--green)!important;border-radius:10px!important}
.danger,.due.over{color:#ae493c!important}
@media(max-width:700px){main{padding:68px 14px 105px!important}.card,.item{padding:18px!important}.actions{gap:8px!important}.actions a{padding:14px 8px!important;font-size:14px}}
@media print{body{background:#fff!important}main{padding:0!important}.card,.item{box-shadow:none}}

/* 案件一覧 */
.top{gap:14px;flex-wrap:wrap}.filter{border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px!important}.filter-grid input,.filter-grid select{width:100%}.filter-grid button{min-width:88px}.photo{background:linear-gradient(135deg,#e8f1e9,#f4f5eb)!important;color:var(--muted)}.card .body{padding:18px!important}.customer{color:var(--ink)}.sub{color:var(--muted)!important;line-height:1.8}.detail{background:var(--green)!important;border-radius:10px!important}.buttons a{background:var(--green)!important;border-radius:10px!important}.buttons a[href="trash.php"]{background:#edf2ed!important;color:var(--green)!important}.grid .card{overflow:hidden}.services label{background:var(--pale)!important;border:1px solid var(--line);border-radius:10px!important}.photo-zone{border-color:#a8c7b2!important;background:#f9fcf9!important}.submit{background:var(--green)!important}.home-header{background:#fff!important;color:var(--ink)!important}.home-header a{color:var(--muted)!important}
@media(max-width:600px){.top .buttons{display:flex}.filter-grid{grid-template-columns:1fr!important}.filter-grid button{width:100%}.menu{grid-template-columns:repeat(2,1fr)!important}}

/* 拡大写真の操作は、背景色を付けず記号だけ表示する */
#photo-modal .modal-arrow,#photo-modal .modal-close{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;color:#fff!important;text-shadow:0 2px 8px rgba(0,0,0,.7)}
#photo-modal .modal-arrow:focus-visible,#photo-modal .modal-close:focus-visible{outline:2px solid #fff;outline-offset:2px}
