*{box-sizing:border-box}body{margin:0;background:#f7f8fb;color:#172033;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Yu Gothic",Meiryo,sans-serif;line-height:1.6}.site-header{position:sticky;top:0;z-index:10;display:flex;gap:14px;align-items:center;justify-content:space-between;padding:12px max(16px,env(safe-area-inset-left)) 12px max(16px,env(safe-area-inset-left));background:#fff;border-bottom:1px solid #e6e8ef}.brand{color:#162033;text-decoration:none;font-weight:900}.top-nav{display:flex;gap:8px;overflow:auto}.top-nav a,.sub-nav a,.btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid #d8dee8;background:#fff;color:#182236;text-decoration:none;font-weight:800;padding:10px 14px;white-space:nowrap}.shell{width:min(1120px,100%);margin:0 auto;padding:22px 16px 44px;overflow-x:hidden}.section-label{margin:0 0 4px;color:#657084;font-weight:800;font-size:13px}h1{margin:0 0 16px;font-size:clamp(26px,5vw,36px);letter-spacing:0}h2{margin:0 0 12px;font-size:20px}.sub-nav{display:flex;gap:8px;overflow:auto;margin:0 0 18px;padding-bottom:2px}.sub-nav a.active,.btn.primary{background:#1769e0;color:#fff;border-color:#1769e0}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.card{grid-column:span 12;background:#fff;border:1px solid #e1e6ef;border-radius:8px;padding:16px;box-shadow:0 8px 22px rgba(15,23,42,.05);min-width:0}.card.link-card{display:block;color:inherit;text-decoration:none}.card.link-card strong{display:block;font-size:22px;margin-bottom:6px}.metric{display:grid;gap:4px}.metric span{color:#687386;font-size:13px;font-weight:800}.metric strong{font-size:28px;line-height:1.15}.metric small{color:#687386}.status{display:inline-flex;align-items:center;min-height:32px;padding:4px 10px;border-radius:999px;font-weight:900}.status.safe{background:#e9f8ef;color:#12733b}.status.warning{background:#fff4d8;color:#8a5b00}.status.danger{background:#ffe7e7;color:#b42318}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;min-width:0}label{display:grid;gap:6px;color:#334054;font-weight:800;font-size:14px;min-width:0}input,select,textarea{width:100%;max-width:100%;min-width:0;min-height:46px;border:1px solid #cfd6e3;border-radius:8px;background:#fff;color:#172033;padding:10px 12px;font:inherit}textarea{min-height:88px;resize:vertical}.date-native-input{display:block;width:100%;max-width:100%;min-width:0;inline-size:100%;min-inline-size:0;text-align:center;font-weight:900;overflow:hidden}.date-native-input::-webkit-date-and-time-value{min-width:0;text-align:center}.date-native-input::-webkit-calendar-picker-indicator{margin-left:0;padding-left:0}.field-2{grid-column:span 2}.field-3{grid-column:span 3}.field-4{grid-column:span 4}.field-6{grid-column:span 6}.field-8{grid-column:span 8}.field-12{grid-column:span 12}.table-wrap{overflow:auto;border:1px solid #e1e6ef;border-radius:8px;background:#fff}table{width:100%;border-collapse:collapse;min-width:720px}th,td{border-bottom:1px solid #edf0f5;padding:10px;text-align:left;vertical-align:top}th{background:#f7f8fb;color:#566174;font-size:13px}.day-off td{background:#fff8f2}.saturday-row td{background:#f1f7ff}.holiday-row td{background:#fff2f2}.weekday-label{font-weight:900;color:#506078}.holiday-name{display:inline-flex;margin-top:2px;padding:2px 8px;border-radius:999px;background:#ffdfe0;color:#b42318;font-size:12px;font-weight:900}.stepper{display:flex;align-items:center;gap:8px;min-width:0}.stepper .btn{width:46px;min-width:46px;padding:0;font-size:22px}.stepper input{width:76px;text-align:center;font-weight:900}.flash{border:1px solid #b9d4ff;background:#edf5ff;color:#164a91;border-radius:8px;padding:10px 12px;margin:0 0 14px;font-weight:800}.muted{color:#687386}.chart{display:grid;gap:8px}.bar-row{display:grid;grid-template-columns:88px 1fr 88px;gap:10px;align-items:center}.bar{height:14px;border-radius:999px;background:#e8edf5;overflow:hidden}.bar i{display:block;height:100%;background:#1769e0}.danger-text{color:#b42318;font-weight:900}.inline-form{display:inline}.btn.danger{border-color:#f4b5b5;color:#b42318}.login-box{width:min(440px,100%);margin:10vh auto 0}.kpi-wide{grid-column:span 6}@media (min-width:760px){.card.third{grid-column:span 4}.card.half{grid-column:span 6}.card.quarter{grid-column:span 3}}@media (max-width:680px){.site-header{align-items:flex-start;flex-direction:column}.top-nav{width:100%}.shell{padding-left:12px;padding-right:12px}.grid,.form-grid{grid-template-columns:1fr;gap:10px}.field-2,.field-3,.field-4,.field-6,.field-8,.field-12,.kpi-wide{grid-column:1/-1}.card{padding:14px;overflow:hidden}.date-control-card{padding:16px 12px}.date-control-card .form-grid{display:grid;grid-template-columns:1fr}.date-control-card label,.date-control-card .field-3,.date-control-card .field-4,.date-control-card .field-6,.date-control-card .field-12{width:100%;min-width:0}.date-control-card .btn{width:100%;min-width:0}.metric strong{font-size:24px}.actions{display:grid}.btn{width:100%;white-space:normal}.stepper .btn{width:42px;min-width:42px}.stepper input{width:62px}.bar-row{grid-template-columns:58px 1fr 74px}.date-native-input{font-size:16px;padding-left:6px;padding-right:6px}.schedule-table{overflow:hidden}.schedule-table table{width:100%;min-width:0;table-layout:fixed}.schedule-table th,.schedule-table td{padding:10px 8px}.schedule-table th:first-child,.schedule-table td:first-child{width:45%}.schedule-table th:last-child,.schedule-table td:last-child{width:55%}.schedule-table .stepper{justify-content:flex-end;gap:6px}.schedule-table .stepper .btn{width:42px;min-width:42px}.schedule-table .stepper input{width:62px}table{min-width:440px}.schedule-table table{min-width:0}}
