:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#20313e;background:#f3f6f8;line-height:1.6}
*{box-sizing:border-box}body{margin:0}main{max-width:1050px;margin:auto;padding:28px 20px}header{display:flex;align-items:center;justify-content:space-between;gap:16px}h1{font-size:1.7rem;margin:0 0 22px}h2{font-size:1.05rem;margin:0 0 10px}.eyebrow{font-size:.85rem;color:#526b7b;margin:0 0 4px}.refresh{display:inline-block;background:#17677a;color:white;padding:9px 16px;border-radius:6px;text-decoration:none;white-space:nowrap}.refresh:focus-visible{outline:3px solid #e4a91b;outline-offset:3px}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0 0 28px}.summary>div{background:white;border:1px solid #dbe3e8;border-radius:8px;padding:18px}.summary p{font-size:.9rem;color:#52616d;margin:10px 0 0}#clock{font-weight:650;white-space:nowrap;font-variant-numeric:tabular-nums}.list-heading{display:flex;align-items:center;gap:12px}.list-heading h2{font-size:1.25rem;margin:0}.list-heading span{color:#526b7b}.conditions,.footnote,footer{color:#52616d;font-size:.9rem}table{width:100%;border-collapse:collapse;background:white;font-variant-numeric:tabular-nums}th,td{padding:13px 16px;text-align:left;border-bottom:1px solid #dbe3e8}thead{background:#e4edf1}tbody tr:nth-child(even){background:#f8fafb}.empty,.notice{padding:18px;background:white;border:1px solid #dbe3e8;border-radius:6px}.notice{background:#fff5dc}footer{margin-top:28px}
@media(max-width:700px){main{padding:18px 12px}h1{font-size:1.4rem}header{align-items:flex-start}.summary{grid-template-columns:1fr;gap:10px}.summary>div{padding:14px}table,tbody{display:block}thead{display:none}tbody tr{display:block;margin:12px 0;background:white!important;border:1px solid #dbe3e8;border-radius:8px;overflow:hidden}tbody th{display:block;background:#e4edf1;padding:9px 14px}tbody td{display:flex;justify-content:space-between;gap:12px;padding:9px 14px}tbody td::before{content:attr(data-label);color:#52616d}tbody td:last-child{border-bottom:0}.refresh{padding:8px 12px;font-size:.9rem}}

.countdown{font-variant-numeric:tabular-nums;white-space:nowrap}td time{white-space:nowrap}@media(min-width:701px){th,td{padding:12px 10px}}
nav{display:flex;gap:12px;align-items:center;flex-wrap:wrap}nav form{margin:0}a{color:#17677a}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #bdccd4;border-radius:6px;padding:7px 12px}.form-panel{max-width:620px;background:white;padding:22px;border:1px solid #dbe3e8;border-radius:8px}.form-panel label{display:block;margin:0 0 16px;font-weight:600}.form-panel input,.form-panel select{display:block;width:100%;padding:10px;border:1px solid #aabac5;border-radius:5px;margin-top:5px}.form-panel small{display:block;font-weight:400;color:#52616d;margin-top:4px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:700px){header{flex-direction:column;gap:6px;margin-bottom:16px}h1{margin-bottom:6px}.form-panel{padding:16px}.form-grid{grid-template-columns:1fr;gap:0}nav{font-size:.9rem}}

.password-field{display:block;position:relative}.password-field input{padding-right:54px}.password-toggle{position:absolute;right:4px;top:4px;bottom:4px;width:44px;display:flex;align-items:center;justify-content:center;border:0;background:transparent;color:#17677a}.password-toggle:focus-visible{outline:2px solid #17677a}.eye-slash[hidden]{display:none}
.pass-active th[scope="row"],.pass-active .countdown{color:#c02020;font-weight:700}.pass-row[hidden]{display:none}.danger{background:#b42323;color:white;border-color:#b42323}.danger-link{color:#b42323}.form-panel .confirm-delete{display:flex;align-items:flex-start;gap:10px}.form-panel .confirm-delete input{width:auto;flex:none;margin-top:6px}
.satellite-choice{display:flex;align-items:center;gap:8px}.satellite-toggle{width:18px;height:18px;flex:none;margin:0;cursor:pointer}.satellite-options{border:1px solid #bdccd4;border-radius:6px;padding:12px;margin:0 0 20px;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.form-panel .satellite-options label{display:flex;gap:9px;align-items:center;margin:0}.form-panel .satellite-options input{width:18px;height:18px;margin:0;flex:none}.notice[hidden]{display:none}nav{justify-content:flex-end}@media(max-width:700px){nav{justify-content:flex-start}}
.pass-reasons{display:flex;flex-wrap:wrap;gap:4px;margin:0}.pass-badge{display:inline-block;padding:1px 7px;border:1px solid;border-radius:4px;font-size:.75rem;font-weight:600;white-space:nowrap}.badge-elevation{background:#fff3cd;color:#704e00;border-color:#e5c56d}.badge-hours{background:#e3f0fc;color:#215780;border-color:#9ec4e5}.pass-active th[scope="row"],.pass-active .countdown{color:#c02020}
.satellite-selector{background:white;border:1px solid #dbe3e8;border-radius:8px;padding:20px}.satellite-lists{display:grid;grid-template-columns:minmax(0,1fr) 80px minmax(0,1fr);gap:20px}.satellite-lists label{display:block;font-weight:600;margin-bottom:10px}.satellite-lists select{width:100%;height:340px;border:1px solid #aabac5;border-radius:4px;padding:5px}.satellite-lists input{width:100%;margin-bottom:8px;padding:8px;border:1px solid #aabac5;border-radius:4px}.satellite-moves{display:flex;flex-direction:column;justify-content:center;gap:10px}.satellite-lists option[hidden]{display:none}@media(max-width:700px){.satellite-lists{grid-template-columns:1fr;gap:12px}.satellite-lists select{height:220px}.satellite-moves{flex-direction:row;justify-content:center}.satellite-moves button{flex:1}.satellite-selector{padding:14px}}

.admin-users button{white-space:nowrap;width:max-content;min-width:max-content}.admin-users td[data-label="権限変更"] form,.admin-users td[data-label="ユーザー削除"] form{margin:0;flex-shrink:0}.admin-users td[data-label="権限"],.admin-users td[data-label="ユーザー削除"]{white-space:nowrap}@media(min-width:701px){.admin-users th:nth-last-child(-n+4){white-space:nowrap}}

main:has(.admin-users){width:fit-content;min-width:min(1050px,100%);max-width:100%;margin-left:auto;margin-right:auto}.admin-users td[data-label="メールアドレス"]{white-space:nowrap;overflow-wrap:normal;word-break:normal}@media(min-width:701px){.admin-users{table-layout:auto;width:auto}.admin-users th,.admin-users td{white-space:nowrap;padding:10px 12px}.admin-users th:nth-child(n+4),.admin-users td:nth-child(n+4){padding-left:10px;padding-right:10px}}@media(max-width:700px){.admin-users td[data-label="メールアドレス"]::before{flex-shrink:0}}
