*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP",sans-serif;background:#f5f6f8;color:#1f2328}header.app-header{background:#fff;border-bottom:1px solid #ddd;padding:11px 18px;display:flex;justify-content:space-between;align-items:center;gap:18px;position:sticky;top:0;z-index:20}.header-left{display:flex;align-items:center;gap:9px;min-width:0}.company-brand{font-weight:800;white-space:nowrap}.app-name{font-size:12px;color:#667085;white-space:nowrap}.role-mode{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700;white-space:nowrap}.role-mode.admin-mode{background:#202124;color:#fff}.role-mode.employee-mode{background:#eef2f6;color:#344054}.header-right{display:flex;align-items:center;gap:18px}.user-affiliation{text-align:right;line-height:1.25}.user-affiliation strong{display:block;font-size:13px}.user-affiliation span{display:block;color:#667085;font-size:11px;margin-top:3px;white-space:nowrap}nav{white-space:nowrap}nav a{margin-left:12px;text-decoration:none;color:#222;font-size:13px}main{max-width:1280px;margin:22px auto;padding:0 14px}.card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;margin-bottom:18px}.narrow{max-width:460px;margin:50px auto}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px}.metric{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:15px}.metric span{display:block;color:#667085;font-size:13px}.metric strong{display:block;font-size:25px;margin-top:4px}.btn{display:inline-block;border:0;border-radius:9px;padding:11px 15px;background:#202124;color:#fff;text-decoration:none;cursor:pointer;font-size:15px}.btn.secondary{background:#eceef1;color:#222}.btn.danger{background:#b42318}.btn.small{padding:7px 10px;font-size:13px}.btn.big{width:100%;font-size:19px;padding:19px}.btn:disabled{opacity:.35;cursor:not-allowed}.actions{display:flex;gap:8px;flex-wrap:wrap}.mobile-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.span2{grid-column:1/-1}.status{font-size:26px;font-weight:700;margin:12px 0}.today-shift{padding:12px;background:#f7f7f8;border-radius:8px}.muted{color:#667085}.ok{color:#067647}.error{color:#b42318}.warn{color:#b54708;font-weight:700}.badge{background:#eef2ff;border-radius:999px;padding:7px 10px;font-size:13px}.flex-between{display:flex;justify-content:space-between;gap:12px;align-items:center}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%}th,td{padding:9px;border-bottom:1px solid #eee;text-align:left;white-space:nowrap;vertical-align:top}th{background:#f8f9fa;position:relative}td small,th small{display:block;color:#667085;font-size:11px;margin-top:2px}input,select,textarea{width:100%;padding:10px;border:1px solid #cfd4dc;border-radius:8px;font-size:15px;background:#fff}input[type=checkbox]{width:auto}label{display:block;margin:9px 0 5px;font-weight:600}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.inline-form{display:flex;gap:8px;align-items:end}.inline-form input,.inline-form select{min-width:130px}.weekday{display:flex;gap:12px;flex-wrap:wrap}.weekday label{font-weight:400}.check-wrap{display:flex;align-items:end}.review-form,.grant-form{display:flex;gap:6px;align-items:center}.review-form input,.grant-form input{min-width:110px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:#d8dde5;border:1px solid #d8dde5;margin-bottom:18px}.cal-head{background:#f1f3f5;padding:8px;text-align:center;font-weight:700}.cal-cell{background:#fff;min-height:130px;padding:6px}.cal-cell.empty{background:#f8f9fa}.cal-date{font-weight:700;margin-bottom:5px}.shift-chip{display:block;color:inherit;text-decoration:none;border-left:3px solid #333;background:#f4f5f7;padding:4px 5px;margin:3px 0;border-radius:4px;font-size:12px;line-height:1.25}.shift-chip.draft{opacity:.55;border-style:dashed}.matrix td{text-align:center;padding:5px}.matrix small{font-size:9px}h1{font-size:25px;margin-top:0}h2{font-size:19px}footer{text-align:center;color:#8a8f98;padding:30px}
@media(max-width:700px){header.app-header{align-items:flex-start;flex-direction:column;gap:8px}.header-left{width:100%;flex-wrap:wrap}.header-right{width:100%;align-items:flex-start;justify-content:space-between;gap:8px}.user-affiliation{text-align:left}.user-affiliation span{white-space:normal}.app-name{display:none}nav a{margin-left:7px;font-size:13px}.mobile-actions{grid-template-columns:1fr}.span2{grid-column:auto}.flex-between{align-items:flex-start;flex-direction:column}.inline-form{width:100%;flex-wrap:wrap}.calendar{grid-template-columns:repeat(7,minmax(0,1fr))}.cal-cell{min-height:95px;padding:3px}.cal-head{padding:5px;font-size:12px}.shift-chip{font-size:10px;padding:3px}.review-form,.grant-form{min-width:420px}}

@media print{header,footer,.actions,.inline-form{display:none!important}main{max-width:none;margin:0;padding:0}.card{border:0;padding:5px;margin:0}.calendar{break-inside:avoid}.cal-cell{min-height:110px}}

.setup-card{max-width:760px;margin:35px auto}.setup-company,.login-company{font-weight:800;font-size:18px;margin-bottom:5px}.notice{padding:12px;background:#fff4cc;border:1px solid #f0d98b;border-radius:8px}.metric-text{font-size:16px!important}.error{white-space:pre-wrap}
