:root{font-family:"Yu Gothic UI","Meiryo",sans-serif;color:#172033;background:#eef2f7;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh}.topbar{min-height:58px;background:#172b4d;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:9px 20px;box-shadow:0 2px 8px #0002}.brand{font-weight:800;letter-spacing:.04em}.user{display:flex;align-items:center;gap:10px;font-size:14px}.container{width:min(1040px,calc(100% - 28px));margin:22px auto}.card{background:#fff;border:1px solid #d9e0ea;border-radius:14px;padding:20px;box-shadow:0 8px 24px #1c2a4412;margin-bottom:18px}.login-card{width:min(430px,100%);margin:70px auto}.subtitle{color:#64748b;margin-top:-5px}.field{display:grid;gap:6px;margin:8px 0}.field label,.inline-field{font-weight:700;font-size:14px}.field input,.field select,.field textarea,.template-bar select,.inline-field input{width:100%;padding:11px;border:1px solid #bac5d3;border-radius:9px;font:inherit;background:#fff}.field input:focus,.field select:focus,.field textarea:focus,.template-bar select:focus,.inline-field input:focus{outline:3px solid #2563eb25;border-color:#2563eb}.button{border:0;border-radius:9px;padding:10px 15px;font:inherit;font-weight:700;cursor:pointer;background:#e4e9f0;color:#1c2a44}.button.primary{background:#2563eb;color:#fff}.button.secondary{background:transparent;border:1px solid #ffffff80;color:#fff;padding:7px 12px}.button.danger{background:#fee4e2;color:#b42318}.button:disabled{opacity:.55;cursor:wait}.message{min-height:24px;margin:10px auto;width:min(1040px,calc(100% - 28px));font-weight:700}.message[data-type="error"]{color:#b42318}.message[data-type="success"]{color:#067647}.badge{background:#dbeafe;color:#1d4ed8;border-radius:999px;padding:3px 9px;font-weight:700;font-size:12px}h1,h2,h3,h4{margin-top:0}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-title h1{margin-bottom:3px}.section-title p{margin:0;color:#64748b}.activity-form{display:grid;grid-template-columns:180px 1fr 140px 140px;gap:10px}.activity-form .wide{min-width:0}.activity-form .full{grid-column:1/-1}.form-actions{display:flex;gap:8px}.template-bar{display:grid;grid-template-columns:1fr auto auto;gap:8px;margin-bottom:12px}.activity-list{display:grid;gap:16px}.day-group>h3{padding:7px 12px;margin:0;background:#dbe6f4;border-radius:9px 9px 0 0}.activity-card{background:#fff;border:1px solid #d7e0ea;border-left:5px solid #2563eb;padding:16px;margin-top:8px;border-radius:11px;box-shadow:0 4px 14px #1c2a440d}.activity-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.activity-time{font-weight:800;color:#1d4ed8}.activity-head h4{font-size:20px;margin:4px 0}.counts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.counts span{background:#f1f5f9;border-radius:999px;padding:5px 9px;font-size:13px;font-weight:700}.activity-memo{white-space:pre-wrap;background:#f8fafc;padding:10px;border-radius:8px}.activity-actions{display:flex;gap:7px;flex-wrap:wrap}.response-form{border-top:1px solid #e2e8f0;margin-top:14px;padding-top:14px}.status-buttons,.job-grid{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.status-buttons label,.job-grid label{cursor:pointer}.status-buttons input,.job-grid input{position:absolute;opacity:0;pointer-events:none}.status-buttons span,.job-grid span{display:block;padding:7px 10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;font-weight:700}.status-buttons input:checked+span,.job-grid input:checked+span{background:#dbeafe;border-color:#2563eb;color:#1d4ed8}.inline-field{display:grid;gap:5px;margin-bottom:10px}.participant-list,.member-list{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:7px}.participant-list li,.member-list li{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:8px;background:#f4f6f9;flex-wrap:wrap}.participant-list li small{width:100%;color:#475569}.status{border-radius:999px;padding:2px 8px;font-size:12px;font-weight:800}.status-yes{background:#dcfae6;color:#067647}.status-maybe{background:#fef0c7;color:#b54708}.status-no{background:#fee4e2;color:#b42318}.status-none{background:#e2e8f0;color:#475569}.empty{background:#fff;border:2px dashed #b8c3d1;padding:30px;text-align:center;border-radius:12px;color:#64748b}.muted{color:#64748b}.member-form{display:grid;grid-template-columns:1fr 1fr 150px auto;gap:10px;align-items:end}details summary{font-size:20px;font-weight:800;cursor:pointer;margin-bottom:10px}
@media(max-width:760px){.container{margin-top:14px}.card{padding:15px}.topbar{padding:8px 12px}.login-card{margin-top:35px}.activity-form,.member-form{grid-template-columns:1fr 1fr}.activity-form .wide,.activity-form .full,.member-form .field:nth-child(1),.member-form .field:nth-child(2){grid-column:1/-1}.template-bar{grid-template-columns:1fr 1fr}.template-bar select{grid-column:1/-1}.activity-head{display:block}.counts{justify-content:flex-start;margin-top:8px}.section-title p{display:none}}
@media(max-width:480px){.user #member-role{display:none}.activity-form,.member-form{grid-template-columns:1fr}.activity-form>*{grid-column:1!important}.form-actions .button{flex:1}.activity-actions .button{flex:1 1 40%}}
.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.content-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.content-heading h2{margin-bottom:12px}.content-heading small{color:#64748b}.notice-list,.release-list,.board-list{display:grid;gap:9px}.notice-row,.release-row{display:flex;justify-content:space-between;gap:12px;padding:11px;border-radius:9px;background:#f8fafc;border:1px solid #e2e8f0}.notice-row>div:first-child{line-height:1.8}.notice-row span{margin-left:8px;color:#475569}.text-link{border:0;background:none;padding:0;color:#2563eb;text-decoration:underline;font:inherit;font-weight:800;cursor:pointer}.compact-actions{display:flex;gap:6px;align-items:flex-start;flex-shrink:0}.compact-actions .button{padding:6px 9px;font-size:13px}.stack-form{margin-top:12px}.release-form{display:grid;grid-template-columns:150px 160px 1fr;gap:8px;margin-top:12px}.release-form .wide{min-width:0}.release-form .full{grid-column:1/-1}.release-row time{color:#475569;font-weight:700;white-space:nowrap}.release-row>div:nth-child(2){flex:1}.release-row p{margin:5px 0 0;white-space:pre-wrap;color:#475569}.board-form{border-bottom:1px solid #e2e8f0;padding-bottom:14px;margin-bottom:14px}.board-upload{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.file-button input{display:none}.board-post{border:1px solid #d7e0ea;border-radius:11px;padding:14px;background:#fff}.board-post header{display:flex;justify-content:space-between;gap:10px;color:#475569}.board-post p{white-space:pre-wrap;margin:10px 0}.board-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:10px 0}.board-image{border:0;padding:0;background:#e2e8f0;border-radius:8px;overflow:hidden;cursor:pointer;aspect-ratio:1}.board-image img{width:100%;height:100%;display:block;object-fit:cover}.empty.small{padding:15px}.modal-backdrop{position:fixed;inset:0;background:#0f172a99;z-index:1000;display:grid;place-items:center;padding:18px}.modal-backdrop[hidden],.image-viewer[hidden]{display:none}.modal-card{background:#fff;border-radius:14px;width:min(680px,100%);max-height:85vh;overflow:auto;padding:20px;box-shadow:0 20px 60px #0006}.modal-card header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.detail-body{white-space:pre-wrap;line-height:1.8}.image-viewer{position:fixed;inset:0;background:#020617e8;z-index:1100;display:grid;place-items:center;padding:20px;cursor:zoom-out}.image-viewer img{max-width:96vw;max-height:94vh;object-fit:contain}.board-list{max-height:700px;overflow:auto;padding-right:3px}
@media(max-width:760px){.content-grid{grid-template-columns:1fr}.release-form{grid-template-columns:1fr 1fr}.release-form .wide,.release-form .full{grid-column:1/-1}.notice-row,.release-row{display:block}.compact-actions{margin-top:8px}.board-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}

.storage-meter{display:block;margin-top:3px;font-weight:700;color:#334155}
.history-list{max-height:430px;overflow:auto;padding-right:3px}
.history-row{display:flex;gap:10px;padding:10px;border-radius:9px;background:#f8fafc;border:1px solid #e2e8f0}
.history-row p{margin:0;line-height:1.55}
.history-row time{display:block;margin-top:3px;color:#64748b;font-size:12px}
.history-icon{font-size:20px;line-height:1.3;flex:0 0 auto}
.history-note{margin:10px 0 0;color:#64748b;font-size:12px}
.activity-entry-form{grid-template-columns:repeat(4,minmax(0,1fr))}
.input-suffix{display:flex;align-items:center;gap:7px}.input-suffix input{min-width:0}.input-suffix span{white-space:nowrap;color:#475569;font-size:13px}
.job-required-field{border:1px solid #cbd5e1;border-radius:8px;padding:8px 10px;margin:0}.job-required-field legend{font-weight:700;padding:0 4px}.radio-inline{display:flex;gap:18px}.radio-inline label{display:flex;gap:5px;align-items:center}.job-required-field small{display:block;margin-top:6px;color:#b45309;font-weight:700}
.activity-conditions{display:flex;flex-wrap:wrap;gap:7px;margin:9px 0}.activity-conditions span{background:#eef2ff;border-radius:999px;padding:4px 9px;font-size:13px;color:#3730a3}
.request-list{display:grid;gap:12px}.request-card{border:1px solid #cbd5e1;border-radius:11px;padding:14px;background:#f8fafc}.request-card header{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}.request-card time{color:#64748b;font-size:13px}.request-edit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.request-edit-grid label{display:grid;gap:5px;font-weight:700;font-size:13px}.request-edit-grid .full{grid-column:1/-1}.request-summary{display:flex;gap:8px;flex-wrap:wrap}.request-summary span{background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:4px 9px;font-size:13px}.request-status{border-radius:999px;padding:4px 9px;font-size:13px;font-weight:800}.request-status.status-pending{background:#fef3c7;color:#92400e}.request-status.status-approved{background:#dcfce7;color:#166534}.request-status.status-rejected{background:#fee2e2;color:#991b1b}.rejection-reason{color:#991b1b;font-weight:700}
@media(max-width:900px){.activity-entry-form,.request-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.activity-entry-form,.request-edit-grid{grid-template-columns:1fr}.activity-entry-form .wide,.activity-entry-form .full,.request-edit-grid .full{grid-column:1}.activity-conditions{display:grid}.request-card header{align-items:flex-start}}
/* Phase4 v1.1: ジョブ指定表示修正 */
.job-required-field #job-note-prompt[hidden]{display:none!important}
.job-required-field #job-note-prompt:not([hidden]){display:block}
.job-required-field .radio-inline{display:flex;align-items:center;gap:24px;min-height:34px}
.job-required-field .radio-inline label{display:inline-flex!important;align-items:center;gap:7px;width:auto!important;min-width:64px;font-weight:700;white-space:nowrap}
.job-required-field .radio-inline input[type="radio"]{width:16px;height:16px;margin:0;flex:0 0 auto}
/* Phase4 v1.2: ログアウト表示・認証入口 */
[hidden]{display:none!important}
.anonymous-actions{display:flex;gap:7px;align-items:center}
.auth-shell{width:min(760px,100%);margin:55px auto}
.auth-choice{text-align:center}
.auth-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:25px}
.auth-choice-card{border:1px solid #cbd5e1;border-radius:14px;background:#fff;padding:24px 15px;cursor:pointer;box-shadow:0 7px 20px #1c2a4410;color:#172033}
.auth-choice-card:hover{border-color:#2563eb;transform:translateY(-1px)}
.auth-choice-card strong{display:block;font-size:21px;margin-bottom:7px}
.auth-choice-card span{display:block;color:#64748b;font-size:14px}
.auth-shell .login-card{margin:25px auto 0}
.auth-back{margin-bottom:16px}
@media(max-width:680px){
  .anonymous-actions .button{padding:6px 8px;font-size:12px}
  .auth-shell{margin-top:28px}
  .auth-choice-grid{grid-template-columns:1fr}
  .auth-choice-card{padding:18px}
}
