:root{font:16px/1.65 "Yu Gothic UI",sans-serif;color:#263d46;background:#f5f3ed;--brand:#285f68;--line:#dce5e7}*{box-sizing:border-box}body{margin:0}header{display:flex;justify-content:space-between;align-items:center;background:#fffefa;padding:14px 20px;border-bottom:1px solid var(--line)}small,.muted{font-size:12px;color:#657780}header small{border:1px solid #cdd9da;border-radius:15px;padding:3px 7px}main{max-width:1250px;margin:auto;padding:25px 16px 100px}h1{font-size:26px;margin:0 0 7px}h2{font-size:21px}h3,p{margin:0 0 10px}button,input,select,textarea{font:inherit;color:inherit;max-width:100%;border:1px solid #bdcdd0;border-radius:8px;background:white;padding:10px}button,input,select{min-height:46px}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #d5a944}textarea{width:100%;min-height:110px}label{display:block;margin:13px 0 7px}label input:not([type=checkbox]),label select{display:block;width:100%;margin-top:6px}.primary{background:var(--brand);color:white;border-color:var(--brand)}.full{width:100%;margin-top:16px}.danger,.error{color:#a23838}.card,.login{padding:21px;border:1px solid var(--line);border-radius:15px;background:#fffefa;margin:14px 0}.login{max-width:420px;margin:40px auto}.actions,.filters,.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.toolbar{justify-content:space-between;margin-bottom:19px}.filters{margin:18px 0 24px}.filters select{flex:1;max-width:300px}.selected{background:var(--brand);color:white}.group{--team:#285f87;--tint:#eaf3fa;background:#fffefa;border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:20px}.group-title{display:flex;gap:9px;align-items:center;padding:14px;border-left:5px solid var(--team);background:var(--tint)}.group-title h3{color:var(--team);margin:0;font-size:19px}.role{margin-left:auto;border:1px solid var(--team);color:var(--team);border-radius:15px;padding:1px 8px;font-size:11px}.visit{display:grid;grid-template-columns:66px 1fr 12px;gap:8px;width:100%;text-align:left;align-items:start;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:17px 14px;background:transparent}.time{font-size:22px;color:var(--team);line-height:1.4}.place{font-size:17px;font-weight:600}.companion{display:block;width:max-content;max-width:100%;font-size:13px;background:var(--tint);border-radius:6px;padding:3px 8px;margin-top:7px}.empty{padding:25px;text-align:center;color:#657780}.week-grid{display:none}.week-table{width:100%;border-collapse:collapse;background:#fffefa;table-layout:fixed}.week-table th,.week-table td{border:1px solid var(--line);padding:6px;vertical-align:top}.week-table th{font-size:12px;background:#edf2ef}.week-table th:first-child{width:105px}.week-table .visit{display:block;padding:8px 4px}.week-table .time{display:block;font-size:17px}.week-table .place{font-size:13px}.week-table .companion{font-size:11px}.week-table .arrow{display:none}.floating{position:fixed;right:20px;bottom:22px;border-radius:30px;padding:15px 23px;background:var(--brand);color:white;box-shadow:0 4px 20px #24414c25}.checks{display:grid;grid-template-columns:1fr 1fr;gap:7px}.checks label{display:flex;align-items:center;gap:7px;padding:9px;border:1px solid var(--line);border-radius:8px;margin:0}.checks input{width:22px;height:22px;min-height:22px}.section{border-top:1px solid var(--line);padding-top:20px;margin-top:22px}.photos{display:grid;grid-template-columns:1fr 1fr;gap:10px}.photos img{width:100%;height:150px;object-fit:cover;border-radius:8px}.handover{background:#faf5e8;border-left:3px solid #d2b57b;padding:12px;margin:10px 0}.pre{white-space:pre-wrap;overflow-wrap:anywhere}.row{padding:15px 0;border-bottom:1px solid var(--line)}.scroll{max-height:50vh;overflow:auto}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}dialog{padding:0;background:#fffefa;color:inherit;border:1px solid var(--line);border-radius:16px;width:min(640px,calc(100% - 22px));max-height:calc(100dvh - 30px);overflow:auto}dialog::backdrop{background:#18343a66}.dialog-head{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;background:#fffefa;border-bottom:1px solid var(--line);padding:13px 18px;z-index:2}.dialog-head h2{margin:0;font-size:18px}.dialog-body{padding:21px}#message{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#263f45;color:white;padding:12px 18px;border-radius:10px;max-width:calc(100% - 30px);z-index:20;display:none;white-space:pre-wrap}#message.visible{display:block}@media(min-width:900px),(orientation:landscape) and (min-width:760px){.week-grid{display:block}.week-list{display:none}}@media(max-width:520px){header{padding:13px 15px}header b{font-size:16px}.two{grid-template-columns:1fr}dialog{width:100%;height:100dvh;max-height:100dvh;max-width:100%;margin:0;border:0;border-radius:0}.dialog-body{padding:20px 16px 35px}}
.visit>span{min-width:0}.place{display:block;overflow-wrap:anywhere}.week-table th,.week-table td{overflow-wrap:anywhere}
@media(orientation:landscape) and (min-width:760px) and (max-height:500px){
 header{padding:6px 12px}main{padding:8px 10px 80px}.toolbar{margin-bottom:4px;gap:4px}.toolbar h1{font-size:18px}.toolbar small{display:none}.filters{margin:0;gap:6px}.filters input,.filters select{padding:6px;min-height:44px}.actions button{padding:6px 12px;min-height:44px}
 main:has(.week-grid){display:grid;grid-template-columns:115px minmax(0,1fr);gap:6px}main:has(.week-grid)>.toolbar{grid-column:1/-1}main:has(.week-grid)>.actions{grid-column:1}main:has(.week-grid)>.filters{grid-column:2;flex-wrap:nowrap}main:has(.week-grid)>#board,main:has(.week-grid)>p{grid-column:1/-1}.filters select{min-width:0}.filters input{width:155px}.week-table th:first-child{width:78px}.floating{padding:8px 14px;bottom:10px;right:10px;min-height:44px;font-size:13px}
}
