*{box-sizing:border-box}html,body{margin:0;padding:0;background:#f4f6f8;color:#1c2b36;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Noto Sans JP,Segoe UI,sans-serif;font-size:17px;line-height:1.5}#app{max-width:480px;margin:0 auto;padding:16px 16px 48px;min-height:100vh}h1{font-size:1.3rem;margin:0 0 12px}h2{font-size:1.1rem;margin:20px 0 8px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.pill-button{border:1px solid #1a5276;background:#fff;color:#1a5276;border-radius:999px;padding:6px 14px;font-size:.85rem}button{font-family:inherit;cursor:pointer}.primary-button{display:block;width:100%;padding:14px;border:none;border-radius:10px;background:#1a5276;color:#fff;font-size:1rem;font-weight:600;margin-top:12px}.primary-button:disabled{background:#9db3c2}.secondary-button{display:block;width:100%;padding:12px;border:1px solid #1a5276;border-radius:10px;background:#fff;color:#1a5276;font-size:.95rem;margin-top:8px}.text-link-button{background:none;border:none;color:#1a5276;text-decoration:underline;padding:8px 0;font-size:.9rem}input[type=text],input[type=password],textarea{width:100%;padding:12px;border:1px solid #c3cdd6;border-radius:8px;font-size:1rem;margin-top:6px;font-family:inherit}textarea{min-height:80px;resize:vertical}label{display:block;font-weight:600;font-size:.9rem;margin-top:14px}.field-hint{font-size:.78rem;color:#5a6b78;margin-top:2px}.card{background:#fff;border-radius:12px;padding:14px;margin-bottom:12px;box-shadow:0 1px 2px #0000000f}.case-card{display:flex;align-items:center;justify-content:space-between}.day-group{margin-bottom:14px}.day-group summary{font-weight:700;padding:10px 4px;cursor:pointer}.checklist-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 4px;border-top:1px solid #edf1f4}.status-badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.78rem;font-weight:600;white-space:nowrap}.status-badge.done{background:#e3f6e9;color:#1c7a3f}.status-badge.pending{background:#fdeaea;color:#c0392b}.mandatory-banner{padding:10px 14px;border-radius:10px;font-size:.9rem;font-weight:600;margin-bottom:14px}.mandatory-banner.done{background:#e3f6e9;color:#1c7a3f}.mandatory-banner.pending{background:#fdf3e3;color:#92651a}.tabbar{display:flex;gap:8px;margin-bottom:14px}.tabbar button{flex:1;padding:10px;border-radius:8px;border:1px solid #c3cdd6;background:#fff;color:#1c2b36;font-size:.85rem}.tabbar button.active{background:#1a5276;border-color:#1a5276;color:#fff}.error-banner{background:#fdeaea;color:#7a1f14;border-radius:10px;padding:12px;margin-bottom:12px;font-size:.9rem}.success-banner{background:#e3f6e9;color:#1c7a3f;border-radius:10px;padding:12px;margin-bottom:12px;font-size:.9rem}.info-banner{background:#eaf1fb;color:#1a5276;border-radius:10px;padding:12px;margin-bottom:12px;font-size:.85rem}.file-input-wrapper{margin-top:8px}
